SAL

  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

防止ASP.NET按钮多次提交的办法

Posted on 2009-11-07 11:32  SAL  阅读(181)  评论(0编辑  收藏  举报

今天在做项目时,碰到了一个问题,当页面在提交时,若网速太慢,用户可能点击多次提交按钮。这样,导致向数据库中插入了多条相同的记录。在网上搜索了一下,终于得一良方,现在拿出来与大家分享。

//方法一:在提交时调用一段客户端的代码。
function a()
{
    document.getElementById(
"btnok").value = '正在提交'
;
    document.getElementById(
"btnok").onclick=function(){return false
;};
    
return true
;
}
<input id="btnok" runat="server" type="submit" value="确定" onclick="return a();"
 
onserverclick
="Submit1_ServerClick" />



//方法二:必需要是Asp.net服务器控件。(注意UseSubmitBehavior属性)
<asp:Button ID="btnSumbit" runat="server" UseSubmitBehavior="false" 
OnClientClick
="this.value='正在提交';this.disabled=true; "
 
Text
="提交" OnClick="btnSumbit_Click" />