'create a dynamic two-dimensional array
ReDim arrVals(1, 255)
intIndex = 0
现在我们在Request.Form集合中循环以填充数组。
'loop through the Request.Form collection
For Each varItem in Request.Form
If Request.Form(varItem).count > 1 Then
'this is itself a collection so iterate each value
For intLoop = 1 to Request.Form(varItem).count
'store control name and value in array
arrVals(0, intIndex) = varItem & "(" & intLoop & ")"
arrVals(1, intIndex) = Request.Form(varItem)(intLoop)
intIndex = intIndex + 1
Next
Else
'this is a single control item so just store in array
arrVals(0, intIndex) = varItem
arrVals(1, intIndex) = Request.Form(varItem)
intIndex = intIndex + 1
End If
Next
现在我们的数组中已经有了全部控制域名和它们的值,intIndex 包含着Request.Form 集合中所表现的控制域个数的记数值。我们可以调整数列的大小,这样一来它就只包含元素的记数值。由于数列从第0列开始,我们就用intIndex - 1 作为新的列数。
'resize the array to the correct size
ReDim Preserve arrVals(1, intIndex - 1)
现在该考虑一下我们如何将数组放入Session 对象中。我们从Request.ServerVariables 集合中收集引用页面(装载这个页面的表单页面)的名字,去掉路径。然后在Session 对象中把它用做变量名:
'get the name for the session variable using the script
'name of the form page which was the referrer
strReferrer = Request.ServerVariables("HTTP_REFERER")
strReferrer = Mid(strReferrer, InstrRev(strReferrer, "/") + 1)
'save the array in the Session
Session(strReferrer) = arrVals
结束时,我们只要在页面中显示存储在数组中的值来证明我们所做的工作:
Response.Write "< P >---- values received and stored ----< BR >"
'display the array contents
For intIndex = 0 To UBound(arrVals, 2)
Response.Write arrVals(0, intIndex) & " = " _
& arrVals(1, intIndex) & "< BR >"
Next
这里是用我们以前使用过的相同的值所得到的结果:
ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日ASP编码教程:asp缓存的分类
[ASP]2015年4月15日ASP编码教程:何谓ASP缓存/为什么要缓存
[ASP]2015年4月15日ASP编码教程:asp实现的sha1加密解密代码
[ASP]2015年4月15日ASP编码教程:asp执行带参数的sql语句实例
[ASP]2015年4月14日