现在的位置: 首页 > 综合 > 正文

防止ASP.NET按钮多次提交的办法(很好的。)

2012年03月05日 ⁄ 综合 ⁄ 共 1115字 ⁄ 字号 评论关闭

 

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

//方法一:在提交时调用一段客户端的代码。
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" />

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

//方法一:在提交时调用一段客户端的代码。
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" />

抱歉!评论已关闭.