65.9K
CodeProject 正在变化。 阅读更多。
Home

防止多次点击按钮

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 10 月 11 日

CPOL

1分钟阅读

viewsIcon

18377

本文将演示一种防止在 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;

    }

}

© . All rights reserved.