![](/img/trans.png)
[英]Can you stop a prior page from reloading when “back” button is clicked?
[英]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.