ASP - QueryString
Семейство QueryString извлекает значения переменных их строки HTTP-запроса. Строка HTTP-запроса задается значением, следующим за знаком вопроса (?). Несколько разных процессов могут генерировать строку запроса. Например, тег привязки
<A HREF= "example?string=this is a sample">string sample</A>
генерирует переменную с именем string и значением "this is a sample." Строки запроса генерируются также передачей формы или вводом запроса пользователем в поле адреса обозревателя.
Синтаксис
Request.QueryString(переменная)[(индекс)|.Count]
Параметры
переменная
Указывает имя переменной, извлекаемой из строки запроса.
индекс
Необязательный параметр, который дает возможность извлечения одного из нескольких значений параметра. Может быть любым целым числом в диапазоне от –1 до Request.QueryString(переменная).Count.
Примечания
Семейство QueryString является синтаксически разобранной версией переменной QUERY_STRING в семействе ServerVariables. Оно позволяет извлекать переменную из QUERY_STRING по имени Значение Request.QueryString(параметр) представляет собой массив всех значений параметра, встречающихся в QUERY_STRING. Можно определить число значений параметра, вызвав Request.QueryString(параметр).Count. Если переменная не имеет нескольких наборов данных, связанных с ним, счетчик равен 1. Если переменная не найдена, счетчик равен 0
Чтобы сослаться на переменную QueryString в одном из нескольких наборов данных, укажите значение индекса. Параметр индекс может быть любым числом в диапазоне от 1 до Request.QueryString(переменная).Count. Если ссылаются на одну из нескольких переменных QueryString без указания значения индекса, данные возвращаются в виде строки, разделенной запятыми.
Когда Request.QueryString используется с параметрами, веб-сервер производит анализ параметров, переданных запросу, и возвращает указанные данные. Если приложение требует неразобранных данных QueryString, можно извлечь их, вызвав Request.QueryString без параметров.
Можно использовать циклы для перебора всех значений данных в строке запроса. Например, если передан следующий запрос:
http://localhost/script/directory/NAMES.ASP?Q=Fred&Q=Sally
а Names.asp содержит приведенный ниже сценарий,
---NAMES.ASP---
<%
For Each item In Request.QueryString("Q")
Response.Write Request.QueryString("Q")(item) & "<BR>"
Next
%>
Names.asp будет отображать:
Fred
Sally
Приведенный выше сценария может быть также записан с помощью Count.
<%
For i = 1 To Request.QueryString("Q").Count
Response.Write Request.QueryString("Q")(i) & "<BR>"
Next
%>
Пример
Запрос клиента
/scripts/directory-lookup.asp?name=fred&age=22
приведет к следующему значению QUERY_STRING:
name=fred&age=22.
Семейство QueryString будет содержать два члена: name
и age.
Затем можно использовать сценарий, приведенный ниже:
Welcome, <%= Request.QueryString("name") %>.
Your age is <%= Request.QueryString("age") %>.
Результат будет иметь следующий вид:
Welcome, Fred. Your age is 22.
Если использовать приведенный ниже сценарий:
The unparsed query string is: <%=Request.QueryString %>
результат будет иметь следующий вид:
The unparsed query string is: name=fred&age=22
Область применения
См. также
ClientCertificate, Cookies, Form, ServerVariables