ASP Classic 中 Request.Form 的键值数组
Arrays of Keys and Values from Request.Form in ASP Classic
我正在尝试从 Request.Form 的 ASP Classic 中获取一组键。理论上我应该可以简单地使用 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
集合,但是将它们转换为Scripting.Dictionary
.
Dim dict: Set dict = Server.CreateObject("Scripting.Dictionary")
Dim key
For Each key in Request.Form
Call dict.Add(key, Request.Form(key))
Next
我正在尝试从 Request.Form 的 ASP Classic 中获取一组键。理论上我应该可以简单地使用 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
集合,但是将它们转换为Scripting.Dictionary
.
Dim dict: Set dict = Server.CreateObject("Scripting.Dictionary")
Dim key
For Each key in Request.Form
Call dict.Add(key, Request.Form(key))
Next