2013-10-18 143 views
0

我有查詢字符串具有這樣的參數:... & ChildAge = 3 & ChildAge = 4 但收集返回我結果爲「3,4」而不是3和4,與此代碼:Request.QueryString集合返回錯誤的結果

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

它有什麼問題?我怎樣才能得到分離的值?

回答

3

QueryStringNameValueCollection,因此重複的關鍵值進行了排列爲逗號分隔的列表(來自Add法):

如果指定的鍵在目標的NameValueCollection 實例已經存在,則指定值將以「value1,value2,value3」的形式添加到現有的以逗號分隔的 值列表中。

您可以使用GetValues檢索string()對於給定的關鍵:

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

感謝您的解釋。 –

+0

非常感謝,挽救了我的一天 –

1

斯普利特參數爲值的數組,然後你就可以通過

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

嗯,好像這個解決方案的工作,即使它不正是我想要的。謝謝! –

1

您可以使用這樣的迭代。

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

看起來不錯。謝謝。 –