1

次のようなボタンにイベントハンドラーを追加しています。

btn.Click += new EventHandler(btn_Click);

ただし、btn_Click関数は呼び出されておらず(ブレークポイントにヒットすることはありません)、ボタンはページをリロードするだけです。私の過去の経験では、aspボタンは通常、ページをリロードする前にクリックコードを実行しますが、イベントが動的に追加されたときにそれを実行するにはどうすればよいですか?

私も設定CausesValidation = falseしましたが、ページに検証がないので、とにかく影響はないと思います。

4

2 に答える 2

2

ページがポストバックされているかどうかに関係なく、すべてのリクエストに対してイベントハンドラーをバインドする必要があります。イベントハンドラのバインディングは、各ページリクエストの開始時に失われます。ボタンのイベントハンドラーは通常、Page_Loadでバインドされます。

于 2012-06-28T14:20:55.827 に答える
1

Loadイベント(またはその前)にイベントハンドラーを設定する必要があります。の後Loadに実行すると、イベントのハンドラーが評価されるまでに実行されないため、実行されません。

ページのライフサイクルに関連して、このmsdnの記事を確認してください。理解するのに役立つと思います。イベント処理が直後に発生することを確認してくださいLoad

于 2012-06-28T14:21:42.937 に答える