0
点赞
收藏
分享

微信扫一扫

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();
        }


举报

相关推荐

0 条评论