防止多次点击按钮





0/5 (0投票)
本文将演示一种防止在 ASP.NET Web Forms 中多次点击按钮的方法。防止多次点击可以帮助防止多次
本文将演示一种防止在 ASP.NET Web Forms 中多次点击按钮的方法。防止多次点击可以帮助防止多次服务器端事件触发,从而降低重复信息保存到数据库的风险。
概念
- 在客户端禁用按钮控件。
- 在代码后置中,执行一些服务器端任务后,启用该按钮。
请注意
在此示例中,您需要使用 HTML 按钮而不是 ASP.net 按钮。
标记
<input type="button" id="SaveButton" value="保存" runat="server" onclick="this.disabled=true;" onserverclick="SaveButton_ServerClick" />
启用客户端验证
如果您想在按钮点击的同时启用客户端验证,则标记应该略微更改为。
<input type="button" id="SaveButton" value="保存" runat="server" onclick="if(Page_ClientValidate() == true){this.disabled=true;}" onserverclick="SaveButton_ServerClick" />
代码后置 (Visual Basic)
Protected Sub SaveButton_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs)
Me.Validate()
If Page.IsValid Then
'****************************
'保存信息到数据库。
'****************************
End If
If SaveButton.Disabled Then
SaveButton.Disabled = False
End If
End Sub
代码后置 (CSharp)
protected void SaveButton_ServerClick(object sender, System.EventArgs e)
{
this.Validate();
if (Page.IsValid) {
}
//****************************
//保存信息到数据库。
//****************************
if (SaveButton.Disabled) {
SaveButton.Disabled = false;
}
}