Asp classic 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

我正在尝试从ASP Classic中的Request.Form获取一个密钥数组。理论上,我应该能够简单地使用
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
对象,不支持
集合。