2012-03-07 3 views
0

Im делает страницу в .asp и им с этой проблемой ... У меня есть некоторые переменные константыИспользование строки в качестве имени переменной ASP

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

и т.д ... Что мне нужно сделать сво Cicle где я может печатать каждое переменное значение, отсылая его шпагатом ...

Dim i 
    For i=1 to CANTMENUS 

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

    Next 

что-то вроде этого (очевидно, что не работает) Я знаю переменное начало имени в MENU_0 и я хочу dinamicly добавить следующее значение к имени переменного (значение «i»)

Его это возможно сделать ??

благодарит всех.

ответ

0

На самом деле я нашел способ сделать это без набора или массива! С помощью Eval() FUNC

eval("MENU_"&MENUNUMBER) 

MENUNUMBER его переменной итерации, а переменные со значениями, которые я хочу есть MENU_01 MENU_02 MENU_03 и т.д ... и Eval («MENU_01») Я получаю значение мне нужно!

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

4

Может быть сделано с 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 

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

Смежные вопросы