防止双击asp.net按钮ASP.NET C#

时间:2017-01-16 19:00:11

标签: c# asp.net button

如何阻止用户双击按钮?我一直在网上搜索,在我的项目中没有任何对我有用的东西。 你能举个例子吗?

我有这个并且不起作用

 <script type = "text/javascript">
 function DisableButton() {
  document.getElementById("<%=Button1.ClientID %>").disabled = true;
 }
  window.onbeforeunload = DisableButton;
 </script>

3 个答案:

答案 0 :(得分:3)

试试这个

<asp:Button OnClientClick="disableClick(this)" OnClick="MyButtonOnClick" runat="server" UseSubmitBehavior="false" ID="MyButton" />

<script type="text/javascript">
    function disableClick(elem) {
        elem.disabled = true;
    }
</script>

您挂钩OnClientClick事件并将按钮传递给disableClick功能,然后该按钮设置为禁用,因此无法再次点击该按钮。

答案 1 :(得分:0)

您可以在按钮的点击事件中将'enabled'属性更改为false。

e.g:

关于c#代码:

protected void Button1_Click(object sender, EventArgs e)
{
    Button1.Enabled = false;
}

在aspx文件中:

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

答案 2 :(得分:0)

其他答案都没有真正帮助我,但是在应用Junior Porfirio在评论下共享的链接中的代码(http://tgynther.blogspot.com.br/2011/07/aspnet-prevent-button-double-click.html)最终给了我正在寻找的解决方案。

Button1.Attributes.Add("onclick", " this.disabled = true; " + ClientScript.GetPostBackEventReference(Button1, null) + ";");

我在Page_Load方法中添加了上面的代码,看起来它的工作原理。该按钮被禁用,回发仍然发生。