有没有办法在浏览器中禁止历史而不显示Page Expired?

时间:2012-11-05 09:21:35

标签: asp.net browser browser-cache

我目前正在建立一个网站.net / c#。

我正在寻找是否有解决方案来阻止浏览器缓存回发。

我的大多数表单都封装在updatepanels中,因此当启用javascript时,一切正常,然后返回上一页。

然而,当javascript未启用时,我尝试使用下面的代码停止缓存,我得到了可怕的“页面过期”消息。我想要的是完全忽略了回发。

以下是代码:

response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache)
response.Cache.SetNoStore()

有没有办法实现这一点,还是浏览器?

1 个答案:

答案 0 :(得分:1)

简而言之 - 没有跨浏览器方式阻止页面出现在历史记录中。

这样做的经典方法是使用重定向(response.Redirect("YourPage.aspx?success=1"))响应POST请求。

另一种选择是使用UpdatePanel-s(这是你正在做的)或另一种发布AJAX请求的机制,而不是经典的浏览器POST-s。