ASP.NET 后退问题 .net 防止刷新 后退重复提交

原文 http://www.cnblogs.com/super-cj/archive/2012/11/07/2758472.html

 让网页“立即过时”有时候是一个很有用的功能,比如防止用户使用后退来破坏程序逻辑;程序主动刷新某个页面等等。在ASP中最有效的方法是:

Response.CacheControl = "no-cache"

就这么一句足矣,Response.Expires=-1之类的其实都不需要,也不符合我们的要求。
  但到了ASP.Net的时代,当我还糊里糊涂地使用这条语句时,发现MSDN中对Response的这个字段的说明是:

Sets the Cache-Control HTTP header to Public or Private. 
[C#] 
public string CacheControl {get; set;} Property Value 
"Public" or "Private". 
Exceptions 
ArgumentException: CacheControl is an invalid cache control value (not Private or Public). 

怎么只允许赋"public"和"private"两种值了?但是一实验方知是MS在唬人,只要是合法的cache-control的HTTP head值都可以接受,当然包括no-cache了。
  而且经实践,这种方法的功能仍然与ASP中是一样的。当然,似乎.Net官方推荐这种方法:

Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

这个效果和前者完全一致。
  最后,有一点要注意,似乎只有IE的结果是对的,Firefox不买这个帐……

只要直接在页面的page_load 中添加一句:

Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

只要用户后退就会提示页面过期。

时间: 2024-10-30 10:29:39

ASP.NET 后退问题 .net 防止刷新 后退重复提交的相关文章

php防止刷新页面重复提交

作为phper,我们在开发和学习php过程中,难免要经常的接受处理表单数据,然而处理表单的时候总会有一个问题,困扰大家,刷新页面重复提交的问题.如何防止刷新页面重复提交呢? 其实在php学习中我们会有很多的方法,比如最简单的,我们可以采用,提交成功后,进行跳转的方法.但是这样做,有时候,会有很多瓶颈,比如,如果我们的页面有很多内容需要加载,尤其是很多跟后台打交道,这样如果跳转重新加载页面的话,可能会对服务器造成压力. 这里我们可以采用另外一种方法,来防止刷新页面重复提交,以便大家更好的学习php

用struts2 token防止刷新页面重复提交什么让服务器跳转到当前页面?里面的数据不变的

问题描述 用struts2 token防止刷新页面重复提交.是跳转到一个提示错误页面,怎么能跳转到第一次不刷新时的页面.参数值都带过去 解决方案 你可以在提示页面里使用jsWindow.location今天跳转到原来的页面,并且把参数跟在url的后面

asp.net 处理F5刷新页面重复提交页面的一个思路_实用技巧

当提交完一个页面后,如果我们再次点击F5刷新该页面的话,会弹出一个提示,提示我们如果继续,则会重新发送提交我们刚才提交的内容,要是类似付款或一次性的操作,我们不应该这样操作,否则会造成重复提交的问题.解决这个问题,我们可以通过如下思路来处理: 1. 提交成功后,将一个成功状态存入session中,然后重新载入该页面. 2. 在page_load方法中,判定该session字段的状态值,如果为成功,则显示成功信息,否则显示错误提示,紧跟着通过Session.Remove()方法来清空该缓存即可.

寻求提交不刷新方法F5刷新不重复提交ASPX

问题描述 用ASP.NET做个一个提交一直会出现页面刷新和F5重复提交寻求好方法解决防止右击,和屏蔽F5键 解决方案 解决方案二:提交后禁用按钮,解决方案三:http://blog.csdn.net/firewolffeng/article/details/1933694解决方案四:用ajaxControl控件...把整个from包起来...提交一次后按F5不重复提交也没有那个重复提交的提示我这么用的,你也试试吧.解决方案五:可以用hidden和session做一个同步标识,初始化hidden和

防止php表单提交刷新自动重复提交

js 阻止重复提交 第一个是将告诉浏览器禁用submit按钮的表单被提交之后,第二个是将更改按钮的文本来给用户一些知道发生了什么.这是代码添加到你的表单标记:onsubmit="document.getElementById('myButton').disabled=true;document.getElementById('myButton').value='Submitting, please wait...';"你的表单标记将类似于:  或jquery做法 $(document)

asp.net防止刷新时重复提交(可禁用工具条刷新按钮)_实用技巧

前段时间遇到了需要禁用刷新的需求,f5按钮就不说了,简单的js就能把它禁用,但是工具条上的刷新按钮却傻傻干不掉. 如果简单的在刷新时重新加载画面,通过window.location.href="url"可以很容易的实现,但是需求是要求在刷新时什么都不做,保留画面的状态,这下子可就复杂化了. asp.net中分辨请求是重新请求还是通过刷新按钮再次请求不是很方便,为了实现这个效果,试过了很多的方式,一下面的两种为例 1. 复制代码 代码如下: private bool pageRefres

16.7. 防止恶意刷新与重复提交

在开发中会经常会遇到这样的需求,例如投票模块,要防止恶意刷票,下面来介绍几种解决方按: 1.来源IP / MAC地址限制 这个是使用最多也是最广泛的方式,通过获取访问用户的来源IP地址,来限制在一段时间内所能使用的票数. 经常用电脑的老手是很容易绕出这种限制的.PPP/PPPoE拨号用户,可以通过断线重拨来更换IP地址: 每个网络位置会有一个全球唯一的MAC位址.所以我们也可以根据MAC地址限制用户访问 2.Cookies / Session验证 这种方式用的也比较多,清除浏览器Cookies,

PHP防止刷新重复提交页面的示例代码_php实例

PHP防止刷新重复提交页面的示例代码 作为phper,我们在开发和学习php过程中,难免要经常的接受处理表单数据,然而处理表单的时候总会有一个问题,困扰大家,刷新页面重复提交的问题.如何防止刷新页面重复提交呢? PHP防止刷新重复提交,通过不断刷新(Refresh or Reload)表单提交页面,可以重复提交表单内容,可以利用 PHP 的 Session 来避免这一点,Session 保存在服务器端,在 PHP 过程中改变 Session 变量的值后,即保存在服务器端,下次访问这个变量时,得到

网页防刷新重复提交、防后退解决方法

解决|刷新|网页|重复|重复提交 提交后禁用提交按钮(大部分人都是这样做的) 如果客户提交后,按F5刷新怎么办? 使用Session 在提交的页面也就是数据库处理之前: if session("ok")=true thenresponse.write "错误,正在提交"response.endend if 数据处理完后,修改session("ok")=false. 数据处理成功马上Redirect到另外一个页面 操作后刷新的确是个问题,你可以使用