2

私の Web アプリケーションでは、page_loadComplete イベントでユーザー コントロールを読み込みます。これは問題なく動作しますが、ユーザー コントロールでボタンをクリックすると、クリック イベントは発生しません。これはページのライフサイクルと関係がありますか? そのボタン クリック (UI) イベントは、LoadComplete イベントの前に発生しますか?

4

3 に答える 3

3

イベントハンドラーが起動する前に、ボタンのクリックイベントが再度サブスクライブされていることを確認する必要があります。LoadCompleteは、制御イベントの後に発生します。参考までに、ASP.NETページのライフサイクルの概要には、非常に優れた要約が記載されています。

スニペット:

  • ..。
  • ロード
  • 制御イベント
  • LoadComplete
  • PreRender
  • ..。

また、動的にロードするコントロールがすべて同じ場所に配置されるようにする必要があります。これにより、ビューステートとコントロールステートをポストバック前と同じ階層に再適用できます。

基本的に、各ポストバックですべての動的コントロールをロードする必要があります。

同じ問題を抱えている人とその解決策を次に示します。ASP.NET動的制御

于 2009-10-21T07:31:21.617 に答える
1

実際にあなたの状況に起こっていることは、ボタンをクリックすると、イベントが発生する前に、LoadCopleteイベントがページのライフサイクルの最初に発生し、同じコントロールが再び作成され、ここでイベントが失われます。

于 2009-10-21T07:27:09.610 に答える
0

ASP.NETページでのイベント処理は、検証後、レンダリングフェーズの前に行われます。また、検証フェーズはロード後に発生します。

LoadCompleteは、Controlイベントの後、RreRenderイベントの前に発生します。

于 2009-10-21T07:24:07.840 に答える