防止刷新重复刷新提交解决方法

防止刷新重复刷新提交解决方法

方法一:检测数据表,看是否有相同的数据。这种方法对插入数据可能意义更大些,不过如何定义是相同的数据,是个麻烦的事。同时,如果不是插入数据,是删除呢,就不适用了。

方法二:提交后,转向一个过渡页面,然后再从过渡页面返回到当前的页面。这就要求在提交后,要把当前页面的url地址作为参数传过去,同时不能保存缓存,否则“后退”带来不良后果。不过,如果是简单的删除,似乎转来转去太麻烦了。

方法三:用网页特效捕捉f5事件。比如有如下代码:

 

window.document.onkeydown = keystroke;
function keystroke()
  {
   var key = event.keycode;
   event.srcelement.releasecapture();
   if(key == 116)
   {
   event.keycode=0;
   event.returnvalue=false;
   }
  }

 

解决方法四:

前台按钮:

<asp教程:button   id="button1"   runat="server"   onclick="button1_click"   text="button"   onclientclick="this.form.submit();this.disabled=true"   usesubmitbehavior="false"   />

后台代码:

protected   void   page_load(   object   sender,   eventargs   e   )
      {
          if   (page.ispostback)
          {
              button1.attributes.add("disabled",   "disabled");
          }  
      }

关键是红色部分onclientclick="this.form.submit();this.disabled=true"   usesubmitbehavior="false" 。

解决方法五:

          this.btnsubmit.attributes["onclick"] = this.getpostbackeventreference(this.btnsubmit) + ";this.disabled=true;";     //防止重复提交

 

时间: 2024-10-23 18:51:27

防止刷新重复刷新提交解决方法的相关文章

ASP.NET防止页面刷新的两种解决方法

 本篇文章主要是对ASP.NET防止页面刷新的两种解决方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法有二,总结如下:    第一方法:  直接在CS代码里敲:  Response.Buffer = true;  Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);  Response.Expires = 0;  Response.CacheControl = "no-cache";    当有人想按

easyui window refresh 刷新两次的解决方法(推荐)_javascript技巧

这样写刷新两次 $("#windowid").window('refresh','url01.php'); $("#windowid").window('open'); 这样写刷新一次     $("#windowid").window('open'); $("#windowid").window('refresh','url01.php'); 以上这篇easyui window refresh 刷新两次的解决方法(推荐)就是

jquery live()重复绑定的解决方法介绍

 本篇文章主要是对jquery中live()重复绑定的解决方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Query中.live()方法的使用方法    今天在写代码的时候遇到一个问题,直接上代码看: $(function(){            $(".file").live("click",function(){                     var task_name=$(this).text();            

MySQL 处理插入过程中的主键唯一键重复值的解决方法_Mysql

本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE:接下来就分别看看这三种方式的处理办法. IGNORE 使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TABLE Tignore (ID INT NOT NULL PRIMARY KEY , NAME1 INT )d

ASP.NET防止页面刷新的两种解决方法小结_实用技巧

方法有二,总结如下: 第一方法: 直接在CS代码里敲: Response.Buffer = true; Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1); Response.Expires = 0; Response.CacheControl = "no-cache"; 当有人想按后退时页面已过期,效果就达到了 第二方法: SubmitOncePage:解决刷新页面造成的数据重复提交问题(网上资料) 执行过postback操作

AngularJS ng-repeat数组有重复值的解决方法_AngularJS

前言 大家都知道默认在ng-repeat的时候每一个item都要保证是唯一的,否则console就会打出error告诉你哪个key/value是重复的. 如: $scope.items = [ 'red', 'blue', 'yellow', 'white', 'blue' ]; 这个数组blue就重复了,html这么遍历它 <li ng-repeat="item in items">{{ item }}</li> 控制台就会抛出一个错误: 点击错误链接到Ang

ie6重复文字bug解决方法总结

在网上首先找到了好几篇相同的文章,解释的原因是注释引起的bug,但我的代码中并没有注释啊,总结了一下有一下解决方案 1.不放置注释.这是最简单.最快捷的解决方法,但不方便,有时是需要注释的: 2.注释不要放置于2个浮动的区块之间: 3.将文字区块包含在新的元素之间(这个增加了多余的元素),如在外面再加一层div: 4.去除文字区块的固定宽度,与3有相似之处: 5.在后面加一个 或者空格(这个增加了多余的元素): 6.使用IE注释格式(这个是可以使用的,不论在IE还是火狐都正常显示,而且也符合标准

ExtJs纵坐标值重复问题的解决方法_extjs

写在前面,版本库:Ext JS Library 3.3.1 做图表的时候纵坐标很多值都是一样的,无意中发现下面的解决方法,自己测试是可以了,写出来以备后查,以便他人查看.其他版本没测试过.有兴趣的朋友可以自己测试. 复制代码 代码如下: var chartStore;//图表数据 Ext.onReady(function(){ //使用当前服务器的文件,如果没有这句话,默认会去adobe的站点取 Ext.chart.Chart.CHART_URL = 'extjs/resources/chart

jquery用get实现ajax在ie里面刷新不进入后台解决方法_jquery

复制代码 代码如下: function verify() { var jqueryObj = $("#username"); var username = jqueryObj.val(); //var url = "servlet/UserInfo?username=" + encodeURI(encodeURI(username)); var url = "servlet/UserInfo?username=" +username; //注意这