asp.net-mvc - 注销后,如果浏览器后退按钮按下,则返回上一个屏幕

标签 asp.net-mvc asp.net-mvc-4 razor

您好,我是第一次在 MVC 中开发解决方案,所以我面临一个大问题,
当我从我的应用程序(mvc razor web 应用程序)注销时,它会显示登录页面,但是如果我按下浏览器后退按钮,它会显示最后一个屏幕,我不想要这个,我希望如果我按下后退按钮,它仍然显示相同的登录页面。
这是我的注销代码

public ActionResult Logout()
    {
        Session.Clear();
        Session.Abandon();
        Session.RemoveAll();

        FormsAuthentication.SignOut();


        this.Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
        this.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        this.Response.Cache.SetNoStore();          

        return RedirectToAction("Login");
    }

最佳答案

不久前我遇到了这个问题,禁用整个应用程序的缓存解决了我的问题,只需将这些行添加到 Global.asax.cs文件

        protected void Application_BeginRequest()
        {
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
            Response.Cache.SetNoStore();
        }

希望这可以帮助。

关于asp.net-mvc - 注销后,如果浏览器后退按钮按下,则返回上一个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19315742/

相关文章:

razor - MVC4 使用部分来包含 javascript

razor - 在 Razor 页面 OnPost 模型方法中触发显示模态弹出窗口

asp.net - 将字符串传递到MVC4中的局部 View

asp.net - ListBoxFor 没有绑​​定我的 View 模型

asp.net-mvc - 如何从母版页中动态列出现有的操作 Controller ?

asp.net-mvc - Lesscss 和 ASP.NET MVC

.net - 不引用 GAC 进行开发

c# - 由于 MySql,.NET MVC4 应用程序无法运行

entity-framework - Model.GetType().Name 附加看起来像 GUID 的内容

c# - 回发后隐藏的表单字段未出现在 MVC 模型中