Cookies в ASP.Net - PullRequest
       3

Cookies в ASP.Net

2 голосов
/ 09 июля 2010

Я установил печенье на этой странице:

Request.Cookies["lang"].Value = "en-US";
Request.Cookies["lang"].Expires = DateTime.Now.AddDays(50); 

На другой странице я пытаюсь прочитать cookie:

string lang = Server.HtmlEncode(Request.Cookies["lang"].Value);

Файл cookie не является нулевым, но значение является пустой строкой. Что я делаю не так?

Ответы [ 3 ]

10 голосов
/ 09 июля 2010

Вы должны использовать Response.Cookies для установки куки и Request.Cookies для чтения любых куки, отправленных обратно клиентом.

Код в вашем вопросе устанавливает куки в объекте Request, а не Response.

1 голос
/ 09 июля 2010

Если я правильно помню, я думаю, что вы должны использовать ответ вместо запроса, поскольку запрос - это то, что вам отправляется.Ответ - когда вы хотите установить что-то обратно в браузер клиента.

РЕДАКТИРОВАТЬ: В этом конкретном запросе вы изменяете файлы cookie, в которых есть смысл, если вы не видите их на последующих страницах.Это не сохраняет их обратно клиенту.

1 голос
/ 09 июля 2010

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

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

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