Как я могу удалить куки на определенной странице? - PullRequest
4 голосов
/ 17 февраля 2010

Я создаю cookie на одной странице приложения ASP.NET и хочу удалить его на другой странице. Как мне это сделать?

Ответы [ 4 ]

7 голосов
/ 17 февраля 2010

Microsoft: как удалить куки

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

Чтобы назначить дату истечения срока действия файла cookie

  1. Определите, существует ли cookie в запросе, и, если да, создайте новый cookie с тем же именем.
  2. Установить дату истечения срока действия cookie на время в прошлом.
  3. Добавьте cookie в объект коллекции Cookies Ответа.

В следующем примере кода показано, как установить дату истечения срока действия файла cookie.

if (Request.Cookies["UserSettings"] != null)
{
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}

Примечание. Вызов метода Remove из коллекции Cookies удаляет cookie из коллекции на стороне сервера, поэтому cookie не будет отправляться клиенту. Однако метод не удаляет cookie-файл с клиента, если он там уже существует.

3 голосов
/ 17 февраля 2010

Вы пытались истечь срок действия cookie?

protected void btnDelete_Click(object sender, EventArgs e)
{
    Response.Cookies["cookie_name"].Expires = DateTime.Now.AddDays(-1);
}
1 голос
/ 17 февраля 2010

Как: удалить куки

if (Request.Cookies["MyCookie"] != null)
{
    HttpCookie myCookie = new HttpCookie("MyCookie");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}
0 голосов
/ 23 января 2012

Сначала вы должны установить дату истечения срока действия cookie на предыдущую дату.

Например:

  HttpCookie newCookie = new HttpCookie("newCookie");
  newCookie.Expires = DateTime.Now.AddDays(-1);
  Response.Cookies.Add(newCookie);

Теперь делать это не будет полезно, поскольку cookie не будет удален физически. Вы должны удалить куки.

  if (newCookie.Expires < DateTime.Now)
        {
            Request.Cookies.Remove("newCookie");
        }

Вот, пожалуйста. Это относится к любой странице в решении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...