10

ASP.NET 2.0 Web フォームにリピーター コントロールがあります。

Page_Load私が理解しているように、ページのすべてのデータ バインド コントロールは、とイベントの間のどこかでバインディング イベントを発生させPage_PreRenderます。

ただし、私のリピーターのItemDataBoundイベントは、イベントの後に発生しているようPreRenderです。

すべてのイベントが発生した後にページ コントロールにアクセスできる方法はありますItemDataBoundか?

アップデート:

  • リピーターは、リピーター コントロールに設定されObjectDataSourceDataSourceID宣言で を使用します。

  • DataSource ID またはオブジェクトは、ページのライフサイクル中にまったく変更されません。

4

4 に答える 4

7

宣言的なデータバインディング (DataSourceID プロパティで指定されたデータソース) は、PreRender イベントよりも後に発生します。観察している動作は仕様によるものです。これが必要でない場合は、コントロールを明示的にデータバインドする必要があります。その DataBind メソッドを呼び出すだけです。

于 2008-10-20T20:32:45.400 に答える
1

リピーター (myRepeater.DataBind();) をコード ビハインド ファイル (たとえば、Page_Load() イベント内) にバインドしていますか?

ASP.NET イベントのライフサイクルを確認しましたか? すでにこれを知っている場合は申し訳ありませんが、念のため: http://msdn.microsoft.com/en-us/library/ms178472.aspx

それが役に立てば幸い。

リカルド。

于 2008-10-20T19:55:29.673 に答える
0

同様の状況があったと思います。私のオプションは、EnsureChildControls または同様のメソッドを呼び出して、コントロールを強制的にバインドすることでした。

于 2008-10-20T19:16:08.863 に答える