ASP - Cookies
Семейство Cookies позволяет извлекать значение модулей настройки (cookies), переданных в HTTP-запросе.
Синтаксис
Request.Cookies(модуль_настройки)[(ключ)|.атрибут]
Параметры
модуль_настройки
Указывает модуль настройки, значение которого должно быть извлечено.
ключ
Необязательный параметр, используемый для извлечения значения дополнительного параметра из словарей модуля настройки.
атрибут
Задает сведения о самом модуле настройки. Значение параметра «атрибут» может иметь следующее значение.
Имя | Описание |
HasKeys | Только для чтения. Указывает наличие ключей в модуле настройки. |
Примечания
Можно обратиться с дополнительным параметрам словаря модуля настройки, включив значение ключа. Если обращение к словарю модуля настройки осуществляется без использования ключа, все ключи возвращаются как одна строка запроса. Например, если MyCookie
имеет два ключа, First и Second, и при вызове Request.Cookies ни один из ключей не был указан, будет возвращена следующая строка.
First=firstkeyvalue&Second=secondkeyvalue
Если два модуля настройки имеют одно и то же имя и были переданы обозревателем клиента, Request.Cookies возвратит один из них, имеющий более глубокую структуру пути. Например, если два модуля настройки имеют одно имя, один из них имеет атрибут пути /www/, а второй — /www/home/, обозреватель клиента передаст оба модуля настройки в каталог /www/home/, но Request.Cookies возвратит только второй модуль настройки.
Для определения наличия словаря в модуле настройки (есть ли в модуле настройки ключи) используйте сценарий, приведенный ниже.
<%= Request.Cookies("myCookie").HasKeys %>
Если myCookie
является словарем модуля настройки, значение приведенного выше выражения будет равно ИСТИНА. В противном случае значение будет равно ЛОЖЬ.
Можно перебирать все модули настройки в семействе Cookie или все ключи в модуле настройки. Однако перебор ключей в модуле настройки, не содержащем ключей, приведет к непредсказуемым результатам. Чтобы избежать этого, сначала проверьте наличие ключей с помощью конструкции .HasKeys. Это показано в приведенном ниже примере:
<%
For Each strKey In Request.Cookies
Response.Write strKey & " = " & Request.Cookies(strKey) & "<BR>"
If Request.Cookies(strKey).HasKeys Then
For Each strSubKey In Request.Cookies(strKey)
Response.Write "->" & strKey & "(" & strSubKey & ") = " & _
Request.Cookies(strKey)(strSubKey) & "<BR>"
Next
End If
Next
%>
Пример
В приведенном ниже примере на веб-страницу выводится значение myCookie.
Here is the value of the cookie named myCookie:
<%= Request.Cookies("myCookie") %>
Примечание. Подробное описание модулей настройки приведено в спецификации управления состоянием HTTP, доступной по адресу WWW.W3.ORG.
Область применения
См. также
ClientCertificate, Form, QueryString, ServerVariables