0

我有具有类似参数的查询字符串: ...&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

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

4

3 回答 3

3

QueryString是 a NameValueCollection,因此重复的键值被连接为逗号分隔列表(来自Add方法):

如果目标 NameValueCollection 实例中已存在指定的键,则将指定的值添加到现有的以逗号分隔的值列表中,格式为"value1,value2,value3"

您可以使用GetValues来检索string()给定键的 a:

Dim childAges As String() = Request.QueryString.GetValues("ChildAge");
于 2013-10-18T08:20:11.433 回答
1

将参数拆分为一个值数组,然后您将能够迭代

myArray = Request.QueryString("ChildAge").Split(", ")
于 2013-10-18T08:15:29.953 回答
1

你可以这样使用。

Dim a As ArrayList = New ArrayList
        For i = 0 To Request.QueryString("ChildAge").Count
            a.Add(Request.QueryString("ChildAge").Split(",")(i))
        Next
于 2013-10-18T08:19:26.483 回答