asp.net中如何防止用户重复点击提交按钮

 

asp.net 中防止因为网速慢等影响交互的问题导致用户可能点击多次提交按钮,从而导致数据库中出现多条重复的记录,经过亲自验证在网上找的方法,找到两个切实可行的方法:
第一种方法1.
页面前台按钮:

<asp:Button ID="btnSumbit" runat="server" Text="提交" onclick="btnSumbit_Click" />

在后台Page_load事件中添加

btnSumbit.Attributes.Add("onclick", "this.disabled=true;" +this.ClientScript.GetPostBackEventReference(btnSumbit, ""));

在按钮点击事件中加入:

 System.Threading.Thread.Sleep(5000);//延迟5秒钟 

这个五秒钟不是定值,你可以根据自己的情况而定

第二种方法:

页面前台按钮:

 <asp:Button ID="btnSumbit" runat="server" UseSubmitBehavior="false" OnClientClick="this.value='正在提交';this.disabled=true;"    Text="提交" onclick="btnSumbit_Click" /> 

注意这个UseSubmitBehavior 属性
后台就没有什么要添加的了。

好了,说了上面的方法,有几个问题,第一

btnSumbit.Attributes.Add("onclick", "this.disabled=true;" +this.ClientScript.GetPostBackEventReference(btnSumbit, ""));

这句话有什么作用,什么意思呢

第二:

UseSubmitBehavior 属性 什么意思呢

希望高手解答,thanks

在网上百度了一下,找到了这样的解释:

<W3school的解释

UseSubmitBehavior 属性规定按钮控件使用客户端浏览器内建的提交功能,还是使用 ASP.NET 的 postback 机制。

该属性被设置为 TRUE,如果控件使用浏览器的提交机制。否则为 FALSE。默认值是 TRUE。

当设置为 FALSE 时,ASP.NET 会添加一段客户端脚本来回传该表单。

当 UseSubmitBehavior 属性为 false 时,控件开发人员可以使用 GetPostBackEventReference 方法来返回 Button 的客户端回发事件。GetPostBackEventReference 方法返回的字符串包含客户端函数调用的文本,可以插入到客户端事件处理程序中。

<其他的一些

Button的UseSubmitBehavior属性设为false后它就不是执行submit的动作而是一般的Button而此时如果使用OnClientClick ="if (confirm('确定吗?')==false) {return false;}"才会有效果

我要一步一步往上爬 在最高点乘着叶片往前飞 任风吹干 流过的泪和汗 我要一步一步往上爬 等待阳光静静看着它的脸 小小的天有大大的梦想 我有属于我的天 任风吹干流过的泪和汗 总有一天我要属于我的天

最新文章

  1. 搭建Cordova开发环境
  2. python——socket网络编程
  3. Javascript模式(第五章对象创建模式)------读书笔记
  4. stm32时钟分析
  5. 常用元素默认margin和padding值问题探讨
  6. IIS6 + PHP 访问页面出现:需要进行身份验证的问题
  7. Codeforces Round #292 (Div. 1) B. Drazil and Tiles (类似拓扑)
  8. FusionCharts 相关知识
  9. php/java bridge
  10. tcp窗口滑动以及拥塞控制
  11. Flask入门第三天
  12. PhoneGap &amp; Cordova 安装白皮书
  13. AOJ 2170 Marked Ancestor[并查集][离线]
  14. 重读《深入理解Java虚拟机》三、Java虚拟机执行的数据入口(类文件结构)
  15. 比酒量|2012年蓝桥杯B组题解析第三题-fishers
  16. git push文件到远程github或者gitlab
  17. sql server查询某年某月有多少天
  18. 23.读写锁ReadWriteLock
  19. 从排序后的结果集中删除 前n条记录
  20. 升级Ubuntu 到14.04 64位 后eclipse出现闪退现象

热门文章

  1. console对象
  2. Win10/UWP开发—SystemNavigationManager
  3. Deactivate .NET refector
  4. javascript onblur事件阻塞选中input框
  5. HashMap归档-超越昨天的自己系列
  6. Eclipse “cannot be resolved to a type” 错误
  7. it小小鸟
  8. ODBC与ADO 连SQL Server 2005
  9. Android ndk另一种注册方式
  10. 使用jquery、ajax不刷新页面打印表格(返回数据类型text、json);