防止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的文本框还是有数据的

 

---------------------------------------------------------------------------------------------------------------

在asp.net中使用模式dialog时,你会发现每次打开的页面都是相同的内容,页面内容并没有刷新,这是缓存的原因造成的,解决方法如下:
 
ASP.NET清除页面缓存
    (1)   Response.Buffer = true;
            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>
    (3) 重新调用原页面的时候在给页面传一个参数:    href="****.ASPX?random()"
 
location.replace()该方式只有在客户端里有效,在.net中通过回发调用location.replace()还是能够后退.不知道为什么.
 <a href="#" οnclick="location.replace('Default7.aspx');">IE不能后退</a>

    文章来源:http://www.nanmu.net/keli/blog/Lists/Posts/Post.aspx?List=00b35278%2D18ba%2D423b%2Da460%2Dacba809f633d&ID=80

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值