I am trying to loop through a query string and pull out certain values as in:
?ProductID=1234&ProductID=4321&Quantity=1
For each value next to ProductID I want to execute some logic. But I am not sure how to get to the values. Any ideas?
I am trying to loop through a query string and pull out certain values as in:
?ProductID=1234&ProductID=4321&Quantity=1
For each value next to ProductID I want to execute some logic. But I am not sure how to get to the values. Any ideas?
When your query string has more than one value with the same key you can use the NameValueCollection.GetValues method which returns a string array:
dim productID as string
for each productID in Page.Request.QueryString.GetValues("ProductID")
' do something with productID
next productID
Here is some untested psuedo code that should work for the code behind on the page. I hope this helps.
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
Dim productID = Request.Querystring("ProductID")
Dim quantity = Request.Querystring("Quantity")
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
and this is shorter but based on the same idea
For Each Key As String In Request.QueryString.Keys
Response.Write(Key & " = " & Request.QueryString(Key) & "<br>")
Next
Try this one. Only works in 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))