为了遍历Contents集合,可使用一个For Each ... Next结构。集合中的每一项可以是一个简单的Variant类型变量、一个Variant数组或者一个对象的引用。因为需要对每种类型的值进行不同的处理,所以就不得不对每一个进行检查来判别其类型。
在VBscript中可使用VarType函数完成这个工作。这里使用IsObject和IsArray函数代替:
For Each objItem in Application.Contents
If IsObject(Application.Contents(objItem)) Then
Response.Write “Object reference: ‘” & objItem & “’<BR>”
ElseIf IsArray(Application.Contents(objItem)) Then
Response.Write “Array: ‘” & objItem & “’ contents are:<BR>”
VarArray = Application.Contents(objItem)
‘Note: the following only works with a one-dimensional array
For intLoop = 0 To UBound(varArray)
Response.Write “ Index(“ & intLoop & “) = “ & _
VarArray(intLoop) & “<BR>”
Next
Else
Response.Write “Variable: ‘” & objItem & “’ = “ _
& Application.Contents(objItem) & “<BR>”
End If
Next
注意程序如何从Application对象检索该数组。将其分配给一个局部(Variant)变量,使用下面的语句:
varArray = Application.Contents(objItem)
使用UBound函数可以查找出数组的大小(元素的数量),这个值可以作为遍历的终止条件:
For intLoop = 0 UBound(varArray)
这个例子是一维数组,并将只显示这样的一个数组的内容。可根据需要编辑代码以处理多维数组,例如:
For intLoop = 0 To UBound(varArray)
IntNumberOfDimensions = UBound(varArray, 1)
For intDimension = 0 To intNumberOfDimensions
Response.Write “ Index(“ & intLoop & “) = “ _
& varArray(intLoop, intDimension)
Next
Response.Write “<BR>”
Next
遍历application.Contents集合的代码
原创文章如转载,请注明:转载自悠悠博客 [ http://www.ajaxstu.com/ ]
相关文章:
- 同一个用户不允许同时登陆两次(2007-11-15 1:17:43)
- asp重定向-response.redirect和server.transfer(2007-10-24 9:18:30)
- vbscript Replace 函数(2007-10-21 4:33:2)
- vbscript:日期格式常数(2007-10-10 7:30:49)
- For...Next 语句(2007-10-4 9:43:2)
- Chr 函数(2007-10-2 9:21:42)
- vbscript InputBox 函数(2007-9-24 8:25:19)
- CCur 函数(2007-9-20 6:10:44)
- vbscript:字符串常数(2007-9-19 1:12:22)
- While...Wend 语句(2007-9-12 4:58:27)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
