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は であるNameValueCollectionため、重複するキー値はカンマ区切りのリストとして連結されます ( Addメソッドから):

指定されたキーがターゲットの NameValueCollection インスタンスに既に存在する場合、指定された値は、"value1,value2,value3"の形式で既存のコンマ区切りの値のリストに追加されます。

特定のキーのGetValuesを取得するために使用できます。string()

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 に答える