Request.QueryString Collection返回错误的结果

时间:2013-10-18 08:12:21

标签: vb.net collections request.querystring

我的查询字符串包含以下参数:...& ChildAge = 3& ChildAge = 4 但是收集返回结果为“3,4”而不是3和4,使用此代码:

 Dim a As ArrayList = New ArrayList
        For i = 0 To Request.QueryString("ChildAge").Count
            a.Add(Request.QueryString("ChildAge")(i))
        Next

它出了什么问题?如何获得分隔值?

3 个答案:

答案 0 :(得分:3)

QueryStringNameValueCollection,因此重复键值以逗号分隔列表连接(来自Add方法):

  

如果指定的密钥已存在于目标NameValueCollection中   实例,将指定的值添加到现有的逗号分隔中   “value1,value2,value3”形式的值列表。

您可以使用GetValues为给定密钥检索string()

Dim childAges As String() = Request.QueryString.GetValues("ChildAge");

答案 1 :(得分:1)

将参数拆分为值数组,然后您就可以遍历

myArray = Request.QueryString("ChildAge").Split(", ")

答案 2 :(得分:1)

你可以这样使用。

Dim a As ArrayList = New ArrayList
        For i = 0 To Request.QueryString("ChildAge").Count
            a.Add(Request.QueryString("ChildAge").Split(",")(i))
        Next