QueryString

The QueryString collection retrieves the values of the variables in the HTTP query string, that is, it retrieves the values encoded after the question mark (?) in an HTTP request.

Syntax

Request.QueryString(variable)[(index)|.Count]

Parameters

variable
Specifies the name of the variable in the HTTP query string to retrieve.
index
An optional parameter that enables you to retrieve one of multiple values for variable. It can be any integer value in the range 1 to Request.QueryString(variable).Count.

Remarks

The QueryString collection is a parsed version of the QUERY_STRING variable in the ServerVariables collection. It enables you to retrieve the QUERY_STRING variables by name. The value of Request.QueryString(parameter) is an array of all of the values of parameter that occur in QUERY_STRING. You can determine the number of values of a parameter by calling Request.QueryString(parameter).Count. If a variable does not have multiple data sets associated with it, the count is 1. If the variable is not found, the count is 0.

To reference a QueryString variable in one of multiple data sets, you specify a value for index. The index parameter may be any value between 1 and Request.QueryString(variable).Count. If you reference one of multiple QueryString variables without specifying a value for index, the data is returned as a comma-delimited string.

When you use parameters with Request.QueryString, the server parses the parameters sent to the request and returns the specified data. If your application requires unparsed QueryString data, you can retrieve it by calling Request.QueryString without any parameters.

You can use an iterator to loop through all the data values in a query string. For example, if the following request is sent:

http://NAMES.ASP?Q=Fred&Q=Sally
 

and Names.asp contained the following script:

---NAMES.ASP---
<%
  For Each item In Request.QueryString("Q")
    Response.Write item & "<BR>"
  Next
%>
 

Names.asp would display the following:

Fred
Sally
 

The preceding script could also have been written using Count:

<%
  For I = 1 To Request.QueryString("Q").Count	
    Response.Write Request.QueryString("Q")(I) & "<BR>"
  Next
%>
 

Or by iterating through the keys in Request.QueryString:

<% For Each x In Request.QueryString %>
  Request.QueryString( <% = x %> ) = <% = Request.QueryString(x) %>
<% Next %>
 

Example

The client request:

/scripts/directory-lookup.asp?name=fred&age=22
 

results in the QUERY_STRING value:

name=fred&age=22.
 

The QueryString collection would then contain two members, name and age. You can then use the following script:

Welcome,  <%= Request.QueryString("name") %>. 
Your age is <%= Request.QueryString("age") %>.

The output would be:

Welcome, Fred. Your age is 22.
 

Applies To

Request Object

See Also

ClientCertificate, Cookies, Form, ServerVariables