禁用后退按钮(显示缓存版本),不使用JavaScript

时间:2010-05-29 14:13:16

标签: asp.net

我想在不使用javascript的情况下禁用broswer后退按钮。到目前为止,我已经使用了这种编码:

Response.CacheControl = "no-cache"
Response.CacheControl = "private"
Response.CacheControl = "public"

它在Internet Explorer 8中工作得很好但是在mozilla fire fox的情况下它没有工作.pls说同样的解决方案适用于所有浏览器。

提前致谢

关心 V.karthik

2 个答案:

答案 0 :(得分:0)

尝试

Response.Cache.SetCacheability(HttpCacheability.NoCache)

答案 1 :(得分:0)

查看此问题的回复:

Best way to disable client caching

这是同样的问题,同样的问题(IE工作,FF没有),以及一个公认的解决方案。我在引用:

Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Fri, 12 Jun 2009 08:01:46 GMT (the actual modification date)
Cache-Control: store, no-cache, must-revalidate, post-check=0, pre-check=0

编辑:

您可以在页面的代码隐藏中设置前两个标题:

this.Response.Cache.SetExpires(DateTime.Now);
this.Response.Cache.SetLastModified(DateTime.Now);

但实际上,执行以下操作以停用缓存应该足够了(另请参阅Whats the best way to deal with pages loaded via browser history in asp .net?):

this.Response.Cache.SetCacheability(HttpCacheability.NoCache);
this.Response.Cache.SetNoStore();

这将生成以下标题:

Cache-Control: no-cache, no-store
Pragma: no-cache
Expires: -1