一個頁面內Response寫了Cookie,然後在其他頁面無法通過Response.Cookies訪問(使用同一個佈局頁)
//控制器
public ActionResult XXView()
{
Response.Cookies["xxx"].Value = "xx";
Response.Cookies["xxx"].Expires = DateTime.Now.AddDays(1);
return View();
}
//佈局頁
@if (Response.Cookies["xxx"].Value == "xx")
{
}
傻啊,肯定無法訪問啊,Cookie是存儲在客戶端的,居然想通過Response來訪問。。。
然後又有個緩存的問題,進入cookie設置頁面,更新了cookie
此時佈局頁的Request無法獲取最新的cookie,需要重刷一次頁面
@if (Request.Cookies["xxx"].Value == "xx")
{
}
此時我們可以直接在控制器設置cookie的地方直接設置Request.Cookies
即可避免
public ActionResult XXView()
{
Request.Cookies["xxx"].Value = "xx";
Response.Cookies["xxx"].Value = "xx";
Response.Cookies["xxx"].Expires = DateTime.Now.AddDays(1);
return View();
}