Невозможно установить / получить значение из cookie - PullRequest
1 голос
/ 26 января 2011

У меня очень простая страница со следующей логикой:

protected void Page_Load(object sender, EventArgs e)
{
    if (null == Response.Cookies["UserSettings"].Value)
    {
        HttpCookie cookie = new HttpCookie("UserSettings");
        cookie.Value = "The Big C";
        cookie.Expires = DateTime.Now.AddDays(10);
        Response.Cookies.Add(cookie);
    }
    else
    {
       // got here
    }
}

Я установил точку останова как в if, так и в else, а точка останова else никогда не будет достигнута.Оператор if получает удар каждый раз.Что здесь может быть не так?

Спасибо!

1 Ответ

5 голосов
/ 26 января 2011

Почему вы проверяете Response.Cookies вы должны проверять Request.Cookies. ответ все еще создается ..

Обновление

См., Когда вы добавляете файл cookie с помощью коллекции HttpResponse.Cookies , файл cookie немедленно становится доступным в коллекции HttpRequest.Cookies, даже если ответ не был отправлен клиенту. Но вы проверяете наличие cookie в Коллекции еще до того, как его добавили . Так что вам нужно проверить это в Request.Cookie Collection

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