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