单击按钮:禁用并执行按钮的处理程序

时间:2012-04-25 15:50:16

标签: c# asp.net

在Button的Click事件中,你可以禁用该按钮,还可以调用它的事件处理程序吗?

我试过这个:

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

这在IE,Mozilla或Chrome中无效。

2 个答案:

答案 0 :(得分:0)

您可以尝试添加此内容:

protected void Button1_Click(object sender, EventArgs e)
{
    // Do some stuff here

    Button1.Attributes.Add("onclick", "javascript:return false;");
    Button1.Enabled = false;
}

答案 1 :(得分:-1)

<asp:Button ... OnClientClick="disableButton(this);" />

<script type="text/javascript">
function disableButton(button)
{
//need to delay a few ms so that the button posts back before being disabled
  var buttonToDisable = button;
  setTimeout("reallyDisableButton()"), 2);
}

function reallyDisableButton()
{
  buttonToDisable.disabled = true;
}
</script>

我认为你的问题是人们多次点击一个按钮(因为它需要一段时间来加载页面),因此几次开始这个事件,你只希望他们能够做一次。这将在回发后禁用该按钮,防止意外发送多个并发回发。