如何在MVC3 / Razor中正确重定向(同时设置cookie)?
首先,我感觉Response.Redirect只是经典ASP的遗留物,我应该在MVC范例中使用其他东西。
第二,虽然我当前的Response.Redirect IS实现工作,但它没有设置我想要的cookie。 我假设这是因为标头被删除而不是重定向发送到客户端。
这是我到目前为止:
[HttpPost] public ActionResult Login(FormCollection form) { User user; string sessionKey; if (UserManager.Login(form["Email"], form["Password"])) { // Login stuff here // Remember user's email Response.Cookies["Email"].Value = form["Email"]; Response.Cookies["Email"].Expires = DateTime.Now.AddDays(31); // Redirect to homepage Response.Redirect("~/"); } }
在MVC中return RedirectToAction("Home", "Index")
的正确方法是return RedirectToAction("Home", "Index")
。
Cookie应该有效。