我正在 ASP.NET 中开发 Web 应用程序,在某些页面上我想阻止它们使用以下代码缓存数据:
protected override void OnInit(EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.MinValue);
base.OnInit(e);
}
这按它应该的方式工作,但是现在当用户在回发后尝试刷新页面(例如保存数据)时,浏览器会通知用户如果他继续操作将导致两次操作并询问您是否要继续或不。如果您在 Chrome 或 Firefox 上取消此操作,该页面仍具有其当前状态 - 这正是我想要的,但在 IE 中它是无效的。
是否有任何方法可以为 Internet Explorer 实现相同的行为?
最佳答案
您可能需要采取不同的方法。尝试创建一个自定义确认框来捕获/取消刷新操作:
http://devzone.co.in/show-confirmation-box-page-refresh-page-unload-using-javascript/
Execute function before refresh (虽然这个解决方案有一条评论说它不适用于 FireFox)。
关于asp.net - 如何防止在 Internet Explorer 中进行缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103568/