我的Home
- 控制器中有以下代码:
public ActionResult MyPage()
{
if (HttpContext.Request.Cookies["User"] == null)
{
//Create cookie
return RedirectToAction("MyPage", "Home");
}
else
{
string User = HttpContext.Request.Cookies["User"].Value;
foreach (var user in Data.MyUsers)
{
if (user.username == User)
{
//Do some stuff
return View("MyPage");
}
}
HttpContext.Request.Cookies.Remove("User");
//HttpContext.Response.Cookies.Remove("User"); works not sorry ;(
return RedirectToAction("MyPage", "Home");
}
}
问题:应用程序不会删除cookie(为什么会这样)并在循环中运行,因为应用程序在数据中找不到用户。 (问题不是应用程序找不到用户,问题是cookie问题)
问题:我如何解决这个问题,因为在我的另一个项目中,我的工作正常。我在我的新项目中复制并粘贴了我的其他项目中的代码,但在新项目中它不起作用。是的我使用相同版本的asp.net框架:)
希望你能帮助我......我已经知道了关于c#....
的结论非常感谢。
答案 0 :(得分:3)
使用过期属性,并为其设置负值,这将使cookie过期,即在您的单词中,这将从cookie列表中删除。
String cookieName = Request.Cookies["User"].Name;
HttpCookie userCookie = new HttpCookie(cookieName);
userCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(userCookie);
答案 1 :(得分:-1)
您无法删除客户端上的Cookie,但您可以过期