ユーザー コントロールの子であるコントロール (たとえば、DataGrid または ComboBox) があります。ViewState を介して状態を維持するのではなく、すべてのリクエストで DataBind したいのです。しかし、私は去る必要がありEnableViewState=true
ます。これは、TrackViewState() が呼び出される前に DataBind を呼び出す必要があることを意味します。
私はすばらしいブログ投稿を読んで、TRULY Understanding ViewStateを読んで、私の質問に答えています4. Initializing child controls programmatically
。ただし、この記事の解決策は理想的とは言えません。子コントロールを動的に作成し (私はできませんし、できません。既存のコードが多すぎます)、サード パーティの CodeExpressionBuilder を使用します (これがコード ビハインドにあることを望んでいます)。 OnPreInitを使用します(これは、「CONTROLを開発している場合、まったく役に立ちません」)。
その記事はかなり古い (2006 年頃) ので、ASP.NET の新しいバージョンで状況が修正され、より良い解決策が得られるようになることを期待していました。それで、コミュニティ、これを行う良い方法はありますか?