单击时立即禁用按钮

时间:2011-05-03 10:15:13

标签: c# asp.net button onclick

我想在点击它后立即禁用一个Button,这样用户就不能连续点击两次并连续两次触发OnClick_Event。 btn.Enabled = false似乎没有立即行动。有没有其他方法可以实现这一目标?

谢谢,

丹尼斯

7 个答案:

答案 0 :(得分:6)

您正在做的是在回发后禁用它,因此您的按钮将在浏览器收到回复时呈现的页面中被禁用。

使用JavaScript在客户端执行此操作:

var button = document.getElementById('yourButton');
button.disabled = true;

如果您在回复服务器方面遇到问题,请查看以下文章:How to disable an ASP.NET button when clicked

答案 1 :(得分:3)

function disable()
{
var button = document.getElementById('<%= Button1.ClientID %>');
button.disabled = true;
}

<asp:Button ID="Button1" OnClientClick="disable();">

答案 2 :(得分:3)

你可以通过javascript实现这个目标

function Disable(btn)
{
btn.disabled = true;
}

并将其添加到按钮 OnClientClick =“javascript:return Disable(this);”

答案 3 :(得分:2)

您可以通过此代码处理它。假设,这是一个名为btnAdd的按钮。当您单击此按钮时,由于执行相应的代码,它将被禁用。我的意思是由于回发它将被禁用。

if (!IsPostBack)
    {
     btnAdd.Attributes.Add("onclick", "this.disabled=true;" + GetPostBackEventReference(btnAdd).ToString());
    }

答案 4 :(得分:0)

btn.Enabled= false写在按钮的Onclick事件中所有功能的末尾。它将执行必需的操作。

答案 5 :(得分:0)

禁用该按钮引发了问题。您不会触发服务器端事件。因此,通过隐藏按钮更好地寻找替代方案(并且显示一些友好的错误消息'工作','处理'等)。关于如何disable asp.net button on postback的解决方案会有所帮助。感谢。

答案 6 :(得分:0)

YourButton.Enabled = false;

if(!YourButton.Enabled)
{
\\Your Code Here
YourButton.Enabled = true;
}

希望这会有所帮助;)