在 Button 的 Click 事件中,您可以禁用该按钮并调用其事件处理程序吗?
我试过这个:
protected void Button1_Click(object sender, EventArgs e)
{
Button1.Enabled = false;
}
这在 IE、Mozilla 或 Chrome 中不起作用。
你可以尝试添加这个:
protected void Button1_Click(object sender, EventArgs e)
{
// Do some stuff here
Button1.Attributes.Add("onclick", "javascript:return false;");
Button1.Enabled = false;
}
<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>
我假设您的问题是人们多次单击一个按钮(因为页面需要一段时间才能加载),因此会多次启动该事件,而您只希望他们能够执行一次。这将在回发后禁用按钮,防止意外发送多个并发回发。