当页面重定向时,asp.net MVC cookie为null

时间:2015-03-10 00:15:26

标签: asp.net-mvc-4

我正在创建在PageB中创建cookie,而在此处点击页面链接则会重定向到PageS。但是我没有在PageA中看到cookie。我不确定我在这里缺少什么。

 [HttpGet]
        public ActionResult PageA()
        {             

            if (Request.Cookies["bCookie"] != null) { 
           //code
            }    
            return ActionResult(View(PageA));
        }


        [HttpPost]
        public ActionResult PageB(Model bCookieM)
        {
            HttpCookie bCookie= new HttpCookie("bCookie");
            bCookie.Value = bCookieM.ToString();

            Response.Cookies.Add(bCookie);                      

            return View(PageB);
        }

1 个答案:

答案 0 :(得分:2)

来自文档:如果您未设置Cookie过期,则会创建Cookie,但不会将其存储在用户的硬盘上。相反,cookie作为用户会话信息的一部分进行维护。当用户关闭浏览器时,cookie将被丢弃。

使cookie持久(24小时)。做这样的事情:

Response.Cookies["userName"].Value = userName;
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);

HttpCookie bCookie = new HttpCookie("bCookie");
bCookie.Value = bCookieM.ToString();
bCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(bCookie);