Asp classic ASP Classic中Request.Form中的键和值数组
我正在尝试从ASP Classic中的Request.Form获取一个密钥数组。理论上,我应该能够简单地使用Asp classic ASP Classic中Request.Form中的键和值数组,asp-classic,Asp Classic,我正在尝试从ASP Classic中的Request.Form获取一个密钥数组。理论上,我应该能够简单地使用Request.Form.Keys和Request.Form.Items,但它们根本不起作用。我得到: 对象不支持此属性或方法:“request.form.Keys” 我尝试过自己创建函数,但最终在同一点上失败了--.Keys在请求时运行时失败。Form dictionary 我到底做错了什么 Function dictionary_keys( dict ) Dim i R
Request.Form.Keys
和Request.Form.Items
,但它们根本不起作用。我得到:
对象不支持此属性或方法:“request.form.Keys”
我尝试过自己创建函数,但最终在同一点上失败了--.Keys在请求时运行时失败。Form dictionary
我到底做错了什么
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
对象,因此不支持键
集合,但将它们转换为Scripting.Dictionary
非常简单
Dim dict:Set dict=Server.CreateObject(“Scripting.Dictionary”)
暗键
对于Request.Form中的每个键
调用dict.Add(key,Request.Form(key))
下一个
Request.Form和
Request.QueryString
是特殊集合,而不是脚本编写.Dictionary
对象,不支持键
集合。