MVC Cookie

一個頁面內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();
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章