【解決方法】ASP.Net ボタンのクリック

プログラミングQA


asp.net ページのボタンの場合、ボタン クリック イベントを発生させるために 2 回目をクリックする必要があります。 いくつかの設定が正しくない可能性があると思います。 シングルクリックだけでイベントを発生させるにはどうすればよいでしょうか? ありがとう。

解決策 1

これは、イベント ハンドラー メソッドが 2 回実行されるという非常に一般的な問題のようです。

VS.NET の挿入が原因で発生します 2 wireup of the event handler:

– aspx (HTML) に 1 回、例: <asp:button ...="" onclick="btnTest_Click" xmlns:asp="#unknown" />

– VS.NET で生成されたセクション (InitializeComponent) に 1 回、例:
this.btnTest.Click += new System.EventHandler(this.btnTest_Click);

最も簡単な解決策は、.aspx ページから “OnClick…” HTML マークアップを単純に削除することです。

たとえば、これを変更します:
<asp:button id="btnTest" runat="server" text="Test" onclick="btnTest_Click" xmlns:asp="#unknown" />

これに対して:
<asp:button id="btnTest" runat="server" text="Test" xmlns:asp="#unknown" />

再構築してビンゴ! – クリックごとに 1 つのイベント。

から引き裂かれた ここ[^]

-KR

解決策 2

2014 年 3 月 14 日の私のコメントを参照してください。
問題は別のコントロール (テキストボックスなど) が原因である可能性があります。 何らかの理由で、ボタンをクリックする前にクリックする必要があります。 この問題を解決するために、textbox_TextChanged() を実行するコードを修正しました。 これにより、ボタンを 2 回クリックする必要がなくなります。 査読者の皆様、ありがとうございました。
査読者、特に感謝します。 コメントや解決策を提供してくれた人たちに。

解決策 3

初期化せずに ID 変数を使用すると、これが間違いの原因となる可能性があります。

解決策 4

引用:

このヒントをいただきまして誠にありがとうございます。 他のすべての賢明なアドバイスは何の解決にもなりませんでしたが、これはまさにシンプルで信頼できる解決策でした。 したがって、ボタンに ID が必要ない場合でも、ボタンに ID を割り当てるだけです。 しかし、ボタンの ID を定義するだけで問題は解決され、クリック イベントがすぐに発生しました。

コメント

タイトルとURLをコピーしました