ASP Classic 中 Request.Form 的键值数组

Arrays of Keys and Values from Request.Form in ASP Classic

我正在尝试从 Request.Form 的 ASP Classic 中获取一组键。理论上我应该可以简单地使用 Request.Form.KeysRequest.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.FormRequest.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