我有一个通用的错误页面,任何处理的错误都会重定向到。我有一个管理页面,当用户调用错误,并且用户被带到错误页面时,点击错误页面中的后退按钮会导致管理页面加载不正确。
所以我需要的是一种在我来自错误页面时重新加载管理页面的方法。我已尝试在管理页面上设置无缓存等,并检查回发,但没有任何作用。设置无缓存似乎什么都不做,管理页面的document.ready函数上的任何javascript也不会被调用。有没有其他方法可以实现这一目标?
编辑:
我还应该提一下,我注意到我最近添加了一个表缺少2个单元格。这让我相信在某个地方有一个旧的状态被缓存,虽然清除浏览器缓存并重新启动我的服务器根本没有帮助。
EDIT2:
此外,当我回到管理页面
时,设置window.onload()会被破坏答案 0 :(得分:2)
您应该可以通过使用以下代码覆盖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);
}
}
有关详细信息,请参阅此问题:Back button refresh page
修改强>
要清除缓存,请查看以下内容:
Manually clear ASP.NET server cache for a single application/web site?
答案 1 :(得分:0)
事实证明这只是一个IE9问题。我的onload方法永远不会被调用。在其他浏览器中工作正常。
为了让它在IE9中工作,我必须做的修复是将查询字符串附加到页面,这样当我回到页面时,IE9将返回浏览器切换查询字符串已经改变或需要重新评估。
感谢你们两位,或帮助我找到问题。