1

を作成しましたCustomDataBoundControl。を実装CreateChildControls()しましたが、ビューステートをサポートするために積極的に何もしていないため、ポストバック後にデータが失われます。私はこの記事を調べていました: http://msdn.microsoft.com/en-us/library/aa479016.aspx

私の問題は、サンプルが ViewState で動作する方法が、Pairキーと値のペアを保持し、アイテムのコレクションIStateManager` 実装で既知のデータ型を再作成するオブジェクトを使用していることです。

私のコントロールはより一般的です。プロパティに入るオブジェクトのタイプがわからず、オブジェクトdatasourceへのリフレクションを介して子コントロールを作成しdatasourceます。私はコントロールを作成し、Tableコントロールで埋めTableRowますTableCell

Dino の例と実際の実装との間のこのギャップを埋めることはできないようです。

4

2 に答える 2

1

データ ソース コントロールに関しては、ViewState を使用してデータを保持しません。コントロール ツリーを構築している限り、.NET フレームワークはコントロールのビューステートをコントロール状態に再読み込みします。コントロールのコア プロパティのビューステートと、レンダリングされるアイテムの数を格納するだけで済みます。このようにして、同じコントロール ツリーを再レンダリングできます。

于 2012-12-26T04:22:02.783 に答える