加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 后退按钮不会导致回发到MVC中的控制器操作

发布时间:2020-12-16 03:42:11 所属栏目:asp.Net 来源:网络整理
导读:当我点击IE10中的后退按钮或Win7上的Chrome时,它没有达到我在MVC控制器中的断点. IE开发人员工具中的“网络”选项卡显示其未修改304且Fiddler未捕获请求. 我期待回帖,所以我可以在我的控制器中工作. 就我而言,错误是: 登录 确保您在默认页面上 点击左上方的
当我点击IE10中的后退按钮或Win7上的Chrome时,它没有达到我在MVC控制器中的断点. IE开发人员工具中的“网络”选项卡显示其未修改304且Fiddler未捕获请求.

我期待回帖,所以我可以在我的控制器中工作.
就我而言,错误是:

>登录
>确保您在默认页面上
>点击左上方的浏览器后退按钮,您现在将返回
登录屏幕
>再次使用相同的凭据登录
这样做 – 我得到“提供的防伪令牌是为用户”,但当前用户是“用户名”.

我试过把它放在我的控制器中,没有成功:

this.HttpContext.Response.CacheControl = "private";
this.HttpContext.Response.Cache.SetMaxAge(TimeSpan.FromSeconds(0));
public ActionResult Index()
{
    // Get: /Home/Index
    if (this.User.Identity.IsAuthenticated)
    {
        // send the user to the GlobalAssetDashboard
        return this.RedirectToAction(
            "GlobalAssetDashboard","Dashboard",new
                {
                    area = "DashboardArea"
                });
    }

    return this.View("Login");
}
 public ActionResult Login()
{
    // GET: /Home/Login
    if (this.User.Identity.IsAuthenticated)
    {
        // send the user to the GlobalAssetList
        return this.RedirectToAction(
            "GlobalAssetDashboard",new
                {
                    area = "DashboardArea"
                });
    }

    return this.View("Login",new LoginModel());
}

有没有办法强制回发或检测到这种情况并导致JavaScript刷新?或者我的控制器方法实现不正确?

解决方法

通常,这样的缓存规则不以它们执行的逻辑为条件,整个URL要么被缓存,要么不被缓存.在这种情况下,这样简单的东西就足够了.

[OutputCache(NoStore=true,Duration=0)]
public ActionResult Login()
{

}

http://msdn.microsoft.com/en-us/library/dd492556(v=vs.108).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读