![](/img/trans.png)
[英]how to return back to controller action from asp.net page added in mvc project
[英]Fixing the action back to an account page in asp.net mvc application
我有一个asp.net mvc4应用程序,在其中我必须从一个帐户注销:
if (_fonction == "User")
{
if (_is_admin == true) return RedirectToAction("Index");
else
{
Session["user"] = _u;
return RedirectToAction("Index", "User");
}
}
在控制器User
public ActionResult Index()
{
if (Session["user"] == null) return RedirectToAction("Index", "Home");
return View(Session["user"]);
}
动作Logout
public ActionResult Logout()
{
if (_is_admin) { Session["user"] = null; return RedirectToRoute("Administration"); }
else { Session["user"] = null; return RedirectToAction("Index", "Home"); }
}
我这样做:我登录到用户帐户,然后断开连接,所以我进入主页,然后单击浏览器的back
按钮,我得到了该帐户的页面。 当我刷新时,我返回到主页。 我认为问题出在cache
,我不认为将其设为null是个好主意。
那么我该如何解决这个问题呢?
如果您不想清理缓存,则下面的JavaScript可以帮助您通过单击浏览器后退按钮来硬刷新页面
if (window.name != "") { // will be '' if page not prev loaded
window.name = ""; // reset to prevent infinite loop
window.location.reload(true);
}
window.name = new Date().getTime();
将上面的“ javascript”代码放在您的页面上。 因此,它将很难刷新您的页面。
您可以尝试将[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
作为属性添加到User
控制器的Index
操作中,以强制执行非缓存结果。
但我强烈建议仅使用AuthorizeAttribute
因为这将防止在特定视图上执行未经授权的Web请求。 使用此方法的好处是,您仍然可以让用户自由缓存视图并同时得到保护。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.