ObjectDataSourceコンポーネントおよび ObjectDataSource のデータを提供するクラス( ObjectDataSourceのTypeName / SelectMethod属性)とともに、アプリケーションでGridView & Repeater (およびDropDownListなどのその他) コントロールを広範囲に使用します。私は最近、 SelectMethodが呼び出されるときにのみ呼び出されることに気付きました
IsPostBack == false
また、手動でバインドするときは、常に!IsPostBackのときにバインドします。今まで、コントロールがポストバック間でデータを維持する方法に興味がありませんでした (ソート/ページネーションなどを使用して GridView を作成する必要があり、効率的に実行したいと考えています)。
それがどのように行われたかを説明/説明付きのリンクを提供していただけますか?
また、1 つもわかりません。GridViewを使用して行を反復処理する場合、バッキング オブジェクトを取得するために (通常は何らかの ID を取得するために) GridViewRow.DataItemプロパティにアクセスする必要がある場合があります。また、null の場合もあれば、そうでない場合もあります。理由がわかりませんでした。ただし、それは null です。(たとえば) GridViewRow.DataKeysにアクセスできます。
ありがとう
編集: ViewStateのおかげであると答えた場合、別の質問があります: かなり重い 100 個のビジネス オブジェクトをデータ バインドし、データ バインド中にいくつかのプロパティのみを使用する場合 (たとえば、OnRowDataBound イベントを使用して追加のオブジェクトをレンダリングするとします)データ)、オブジェクト全体がシリアル化されるということですか?