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

问题描述 投票:2回答:3

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

我这样做并不起作用

 <script type = "text/javascript">
 function DisableButton() {
  document.getElementById("<%=Button1.ClientID %>").disabled = true;
 }
  window.onbeforeunload = DisableButton;
 </script>
c# asp.net button
3个回答
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函数,然后将按钮设置为禁用,以便不再单击它。


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" />

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方法中添加了上面的代码,看起来它的工作原理。该按钮被禁用,并且仍然发生回发。

© www.soinside.com 2019 - 2024. All rights reserved.