Вопрос

я устанавливаю куки Request.Cookies("TemplateName").value на одной из моих страниц (страница 3) моего приложения.Теперь я могу перейти со страницы 3 на страницу 4 и страницу 2 и сохранить значение файла cookie.Но теперь, когда я выхожу из системы и снова вхожу в систему, оно все еще имеет значение, как я могу сбросить значение файла cookie, чтобы оно было пустым "", когда я запускаю новый экземпляр?

Я пытался:

Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = "" 

На моей домашней странице, но файл cookie по-прежнему сохраняет значение на страницах 2 и 3.

Это было полезно?

Решение

Вам нужно использовать ответ, а не запрос

Response.Cookies["TemplateName"].Value = "";

Response.Cookies["TemplateName"].Expires = DateTime.Now;

РЕДАКТИРОВАТЬ Для VB.

Dim subkeyName As String
subkeyName = "userName"
Dim aCookie As HttpCookie = Request.Cookies("userInfo")
aCookie.Values.Remove(subkeyName)
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)


Response.Cookies("userName").Value = "patrick"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)

Эти примеры взяты сразу из Сайт MSDN

Примечание

Часто люди пытаются использовать

Request.Cookies.Remove("MyCookie");

При этом файл cookie будет удален только из «сборника запросов». Если вы хотите удалить файл cookie, вам необходимо истечь его срок действия.Больше информации здесь

Другие советы

Это может показаться глупым.

Но вы пытаетесь установить cookie из любого другого места?Найдите код TemplateName, если это поможет.

Я не так хорошо знаком с .Net, но с веб-приложениями в целом вам необходимо убедиться, что вы установили заголовки ответов, прежде чем писать какое-либо тело, иначе они могут не быть отправлены.Просто что-то, что стоит перепроверить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top