Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ASP - Cookies

Cookies

Семейство Cookies устанавливает значение модуля настройки. Если указанный модуль настройки не существует, то он создается. Если модуль настройки существует, он получает новое значение, а старое — стирается.

Синтаксис

Response.Cookies(модуль_настройки)[(ключ)|.атрибут] = значение

 

Параметры

модуль_настройки

Имя модуля настройки.

ключ

Необязательный параметр. Если ключ указан, модуль настройки является словарем и ключ становится равным значению.

атрибут

Задает сведения о самом модуле настройки. Значение параметра «атрибут» может иметь следующее значение.

Имя Описание
Domain Только для записи. Если указан, модуль настройки отправляется только для запросов к этому домену.
Expires Только для записи. Дата истечения срока действия модуля настройки. Эта дата должна быть установлена, чтобы модуль настройки хранился на диске клиента после завершения сеанса. Если этот атрибут не установлен в более позднюю, чем текущая, дату, срок действия модуля настройки истечет при завершении сеанса.
HasKeys Только для чтения. Указывает наличие ключей в модуле настройки.
Path Только для записи. Если указан, модуль настройки отправляется только для запросов по этому пути. Если атрибут не установлен, используется путь приложения.
Secure Только для записи. Указывает, что модуль настройки является защищенным.

Значение

Указывает значение, присваиваемое ключу или атрибуту.

Примечания

Если создан модуль настройки с ключами, как в приведенном ниже сценарии,

<%

  Response.Cookies("mycookie")("type1") = "sugar"

  Response.Cookies("mycookie")("type2") = "ginger snap"

%>

 

посылается такой заголовок:

Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=ginger+snap

 

Последующее присвоение myCookie без указания ключа уничтожит type1 и type2. Это показано в приведенном ниже примере.

<% Response.Cookies("myCookie") = "chocolate chip" %>

 

В приведенном выше примере ключи type1 и type2 уничтожаются и их значения теряются. Модуль настройки myCookie теперь имеет значение chocolate chip.

С другой стороны, если модуль настройки вызывается с ключом, уничтожаются все значения без ключей, содержащиеся в модуле настройки. Например, если после предыдущего вызова Response.Cookies вызывается следующим фрагментом сценария

<% Response.Cookies("myCookie")("newType") = "peanut butter" %>

 

Значение chocolate chip теряется, а newType будет установлен в peanut butter.

Чтобы определить наличие ключей в модуле настройки, используйте следующую синтаксическую конструкцию.

<%= Response.Cookies("myCookie").HasKeys %>

 

Если myCookie является словарем модуля настройки, значение приведенного выше выражения будет равно ИСТИНА. В противном случае значение равно ЛОЖЬ.

Можно использовать циклы для установки атрибутов модуля настройки. Например, чтобы установить срок действия всех модулей настройки в определенную дату, используйте следующую синтаксическую конструкцию.

<%

  For Each cookie in Response.Cookies

    Response.Cookie(cookie).ExpiresAbsolute = #July 4, 1997#

  Next

%>

 

Можно перебирать значения всех модулей настройки в семействе или все ключи в модуле настройки. Однако если попытаться перебирать значения модуля настройки, не имеющего ключей, ничего не будет возвращено. Чтобы избежать этого, используйте  .HasKeys для проверки наличия ключей в модуле настройки. Это показано в приведенном ниже примере.

<%

  If Not cookie.HasKeys Then

    'Set the value of the cookie.

    Response.Cookies(cookie) = ""

  Else

    'Set the value for each key in the cookie collection.

    For Each key in Response.Cookies(cookie)

      Response.Cookies(cookie)(key) = ""

    Next

%>

 

Пример

Приведенные ниже примеры показывают установку значения модуля настройки и присвоение значений атрибутам.

<%

  Response.Cookies("Type") = "Chocolate Chip"

  Response.Cookies("Type").ExpiresAbsolute = "July 31, 2001"

  Response.Cookies("Type").Path = "/"

%>

Applies To

Объект Response

См. также

Request.Cookies

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
+1 / -0
Мне нравитсяМне не нравится
25 марта 2005, 13:17:53
Если я пытаюсь сделать что-то вроде
Response.Cookies("cookiename").Domain = "otherdomain.com/", то кука не записывается вообще. Хотя если удалить только эту строку, а все остальное остается как было - все пишется.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог