【发布时间】:2010-10-25 18:40:47
【问题描述】:
很抱歉,如果这已涵盖,我在搜索中找不到任何专门针对此问题的内容。
我正在尝试调试经典的 ASP 应用程序。我需要打印会话变量,其中一个是数组。我的代码在下面,我不断让下标超出范围,通常这意味着数组是空的(Ubound 返回 -1)但在这种情况下它会返回为 9。我尝试过 For i = 1 To 4 和 For i = 0 To 4结果相同。
For Each Item In Session.Contents
If IsArray(Session(item)) Then
localArray = Session(item)
Response.Write "<h1>Ubound = " & Ubound(localArray) & "</h1> <br />" //getting Ubound = 9 here
For i = 1 To Ubound(localArray)
Response.Write "<br> " & item
Response.Write "(" & i & ") = " & localArray(i)
Next
Elseif IsObject(Session(item)) Then
Response.Write "<b>" & item & " is an object </b>"
Else
Response.Write item & " = " & Session(item)
End If
Response.Write "<br>"
Next
编辑
代码改为
For i = LBound(localArray) To UBound(localArray)
也试过
localArray = Session(item)
Response.Write localArray(2) //since UBound returns 9 figured 2nd index should be safe
我仍然收到错误,看起来数组可能不是一维的。但是我不熟悉这个会话变量的结构或创建,有没有办法在 ASP 中获取数组的结构?
【问题讨论】:
标签: arrays asp-classic session-variables