防止asp.net页面通过IE后退
由于项目的需要不允许系统在提交之后,按IE的后退按钮进行再次提交。
试试了一下在 .NET中通过如下语句
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
就可以使页面的缓存失效,每次都需要获取新页面。
顺便找了一下asp中的处理方法如下:
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
也测试通过。
不过通过添加Client-side的方法:
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
没有测试通过,请哪位指点一下
另外如果点击IE的后退按钮提示“页面已经失效” 这种效果如何实现也请指点一下
比如我在Default.aspx页面放一个文本框一个按钮
在文本框随意输入内容
然后点击 Response.Redirect("Default2.aspx");跳转到Default2.aspx
再通过浏览器后退到Default.aspx
如果不设在Default.aspx页面的page_load里写如下代码:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
那么Default.aspx的文本框还是有数据的
---------------------------------------------------------------------------------------------------------------
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "No-Cache");
(2) HTML方法
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>
文章来源:http://www.nanmu.net/keli/blog/Lists/Posts/Post.aspx?List=00b35278%2D18ba%2D423b%2Da460%2Dacba809f633d&ID=80