繁体   English   中英

当用户从后退按钮到达时重新加载页面

[英]Reloading page when user arrives from back button

我有一个通用错误页面,所有已处理的错误都将重定向到该页面。 我有一个管理页面,当用户调用错误时,该用户被带到错误页面,从错误页面单击后退按钮会导致管理页面无法正确加载。

因此,我需要的是一种从错误页面重新加载管理页面的方法。 我尝试过在管理页面上未设置任何缓存等,并检查回发,但是没有任何效果。 设置无缓存似乎无济于事,并且管理页面的document.ready函数上的任何JavaScript都不会被调用。 还有其他方法可以做到这一点吗?

编辑:

我还应该提到,我注意到一个表缺少我最近添加的2个单元格。 这使我相信页面的旧状态正在某处缓存,尽管清除浏览器缓存并重新启动服务器完全没有帮助。

编辑2:

另外,当我回到管理页面时,设置window.onload()变得很糟糕

您应该可以通过以下代码覆盖OnInit解决此问题:

public class ProductBrowser : Page
{
    protected override void OnInit(EventArgs e)
    {
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Cache.SetNoStore();
        Response.Cache.SetExpires(DateTime.MinValue);

        //EDIT: Set the value to FALSE
        Response.Cache.SetAllowResponseInBrowserHistory(false);

        base.OnInit(e);
    }
}

有关更多详细信息,请参见此问题:“ 后退”按钮刷新页面

编辑

要清除缓存,请检查以下内容:
手动清除单个应用程序/网站的ASP.NET服务器缓存?

因此,事实证明这只是IE9问题。 我的onload方法从未被调用过。 在其他浏览器上工作正常。

为了使它在IE9中也能正常运行,我必须进行的修复是在页面上附加查询字符串,以便当我返回页面时,IE9将返回浏览器,以免查询字符串已更改或需要重新评估。

谢谢你们,还是帮助我找到了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM