-1

ボタンの Click イベントで、ボタンを無効にして、そのイベント ハンドラーを呼び出すことはできますか?

私はこれを試しました:

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

これは、IE、Mozilla、または Chrome では機能しません。

4

2 に答える 2

0

これを追加してみてください:

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

    Button1.Attributes.Add("onclick", "javascript:return false;");
    Button1.Enabled = false;
}
于 2012-04-25T16:00:15.513 に答える
-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>

あなたの問題は、人々がボタンを数回クリックしているため(ページの読み込みに時間がかかるため)、イベントを数回開始し、一度だけ実行できるようにしたいことだと思います。これにより、ポストバック後にボタンが無効になり、複数の同時ポストバックが誤って送信されるのを防ぐことができます。

于 2012-04-25T15:55:56.817 に答える