使用字符串作为变量名称ASP

时间:2012-03-07 14:00:54

标签: asp-classic

我在.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 个答案:

答案 0 :(得分: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

另一种选择是使用数组。

答案 1 :(得分:1)

事实上我找到了一种没有套装或数组的方法!通过使用eval()函数

eval("MENU_"&MENUNUMBER)

MENUNUMBER它的迭代变量和具有我想要的值的变量是MENU_01 MENU_02 MENU_03等...并且使用eval(“MENU_01”)我得到了我需要的值!

谢谢大家。