【发布时间】:2018-02-10 00:43:57
【问题描述】:
我正在尝试从 ASP Classic 中的 Request.Form 中获取一组键。从理论上讲,我应该可以简单地使用Request.Form.Keys 和Request.Form.Items,但它们根本不起作用。我明白了:
对象不支持此属性或方法:'request.form.Keys'
我尝试过制作自己的函数,但它们最终在同一点上失败了——.Keys 在 Request.Form 字典上运行时失败。
我到底做错了什么????
Function dictionary_keys( dict )
Dim i
ReDim theKeys( dict.Count-1 )
for i = 0 To dict.Count-1
theKeys(i) = dict.Keys(i)
next
dictionary_keys = theKeys
End Function
Function dictionary_values( dict )
Dim i
ReDim theVals( dict.Count-1 )
for i = 0 To dict.Count-1
theVals(i) = dict.Keys(i)
next
dictionary_values = theVals
End Function
^^ 这两个都失败了dict.Keys(i)
更新:根据@Lankymart 在下面的回答,这是我想出的:
Function request_keys( req )
Dim key, result, i
i = 0
ReDim result( req.Count-1 )
For Each key in req
result(i) = key
i = i + 1
Next
request_keys = result
End Function
Function request_values( req )
Dim key, result, i
i = 0
ReDim result( req.Count-1 )
For Each key in req
result(i) = req(key)
i = i + 1
Next
request_values = result
End Function
【问题讨论】:
-
Request.Form和Request.QueryString是特殊集合,不是Scripting.Dictionary对象,不支持Keys集合。
标签: asp-classic