4

クエリ文字列をループして、次のように特定の値を引き出そうとしています:

?ProductID=1234&ProductID=4321&Quantity=1

ProductID の横にある各値に対して、いくつかのロジックを実行したいと考えています。しかし、値に到達する方法がわかりません。何か案は?

4

6 に答える 6

7

クエリ文字列に同じキーを持つ複数の値がある場合、文字列配列を返すNameValueCollection.GetValuesメソッドを使用できます。

dim productID as string
for each productID  in Page.Request.QueryString.GetValues("ProductID")
  ' do something with productID
next productID  
于 2009-02-18T22:58:41.927 に答える
5

以下は、ページ上のコード ビハインドで機能する未テストの疑似コードです。これが役立つことを願っています。

dim key as string
dim list as new arraylist()
for each key in Page.Request.QueryString.Keys
 if key = "ProductID" then
   list.add(Page.Request.QueryString(key))
 end if
next key

' do somthing with the list of product id's
于 2009-02-18T21:43:10.640 に答える
2
Dim productID = Request.Querystring("ProductID")
Dim quantity = Request.Querystring("Quantity")
于 2009-02-18T21:48:01.173 に答える
1
Dim sQS as String = Request.QueryString.ToString
For Each eItem In Split(sQS, "&")
Dim sName As String = Left(eItem, InStr(eItem & "=", "=") - 1)
Response.Write(sName _
& " = " & Request.QueryString(sName) _
& "<br>")
Next

これは短いですが、同じ考えに基づいています

For Each Key As String In Request.QueryString.Keys
Response.Write(Key & " = " & Request.QueryString(Key) & "<br>")
Next
于 2009-02-18T21:42:29.627 に答える
1

これを試してみてください。VB9 でのみ動作します。

Dim queryString = GetQueryString()
queryString = queryString.SubString(1) 'Remove ?
Dim ids = queryString. _
  Split("&"c). _
  Select(Function(x) x.Split("="c)). _
  Where(Function(x) x(0) = "ProductId" ). _
  Select(Function(x) x(1))
于 2009-02-18T21:43:05.897 に答える