2010-11-25 5 views
0

私は、SharePointアセットピッカーダイアログの代わりに、追加機能を書いています。Sharepoint 2010:SPListオブジェクトを永続化する方法

他のサイトコレクションにあるメディアライブラリを参照する必要があります。 私は共有ファイルのプロパティバッグにメディアライブラリにURLを追加できる設定ページを追加しました。

カスタムAssetPickerダイアログで、コンフィグレーションされたURLから作成されたSPListオブジェクトを、medialibsというメンバリストに追加しました。

私は、SPListオブジェクトが属するSPWebとSPSiteを作成することが非常に重要であることを知っています。私はそのページのOnUnloadイベントでそれを行いますが、ポストバックのたびにOnUnloadが呼び出されることを発見しました。 MedialibsのSPListオブジェクトへの参照を保持するページにツリービューコントロールがあるため、OnLoadで毎回medialibsリストを再構築できません。私がそれらを破棄して再構築すると、オブジェクトは新しく異なっています。 ツリービューは、ノードが開かれた情報を失うため、毎回再構築することはできません。

私はどのようにポストバックでmedialibの内容を保持しますか?ユーザーがページを離れるときにmedialibのSPListオブジェクトが適切に処理されるようにするにはどうすればよいですか?

ありがとうございます!

答えて

4

medialibsを永続化する必要がある理由がわかりません。最初のロードでは、SPListオブジェクトに基づいてTreeViewを作成します。次にViewStateは、複数の要求にわたってTreeViewの永続性を処理します。 SPSite/SPWebオブジェクトは、人口段階で処分されます(usingステートメントがうまく機能します)。私は何か見落としてますか?