Использовать строку в качестве имени переменной ASP - PullRequest
1 голос
/ 07 марта 2012

Я делаю страницу в .asp, и у меня возникла эта проблема ... У меня есть некоторые константы переменных

MENU_01="FICHEROS"
MENU_02="OPTIONS"
MENU_03="USERS"

и т.д.с помощью ссылки на строку ...

Dim i
    For i=1 to CANTMENUS 

    Response.Write "<li>"& MENU_0 & i; & "</li>"

    Next 

Что-то в этом роде (очевидно, что это не работает). Я знаю, что имя переменной начинается с MENU_0, и я хочу динамически добавить следующее значение к имени переменной (значение "i")

Это возможно сделать ??

спасибо за все.

Ответы [ 2 ]

4 голосов
/ 07 марта 2012

Может быть сделано с Response.Write "<li>"& Eval("MENU_0" & i) & "</li>", но использование eval не рекомендуется, поскольку это ненадежный метод.
Я бы предложил использовать объект словаря.

Set MENU = Server.CreateObject("Scripting.Dictionary")
    MENU.Add "01", "FICHEROS"
    MENU.Add "02", "OPTIONS"
    MENU.Add "03", "USERS"

For Each Item In MENU.Items
    Response.Write "<li>" & Item & "</li>"
Next

Другой вариант - использование массивов.

1 голос
/ 22 марта 2012

На самом деле я нашел способ сделать это без набора или массива!Используя eval () func

eval("MENU_"&MENUNUMBER)

MENUNUMBER, это переменная итерации и переменные со значениями, которые мне нужны: MENU_01 MENU_02 MENU_03 и т. Д ... и с помощью eval ("MENU_01") я получаю нужное мне значение!

Спасибо за все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...