2011-02-07 9 views
0

カスタムエディタパーツでWebパーツを開発し、この質問に直面しました。
ウェブパーツセットでは、パーソナライズ可能な属性をジェネリックリストに設定できますか? は、例えば、私はこのような何かをしたい:webpartのPersonalizable属性をジェネリックリストに設定する方法は?

[WebBrowsable(false)] 
[Personalizable(PersonalizationScope.Shared)] 
public List<AnnouncementItem> Announcements 
{ 
     get { return _announcements; } 
     set { _announcements = value; } 
} 

はそれが可能であり、すべての種類の種類は、「パーソナライズ」として使用することができますか?
ありがとうございます。

ソリューション:
私はAssetUrlSelectorを使用して、複数のリストを選択するには、カスタムのEditorPartを使用しますが、私は、エンドユーザーのために、このコレクションをパーソナライズする方法が必要です。 List<of custom objects>は機能しませんが、List<string>(と文字列のみ)が完全に動作することがわかりました。ですから、私はEditorPartで必要なリストを取得し、List<string>を使ってWebパーツに渡します。

答えて

0

あなたの質問はあなたのコードと一致していないようです。コードにカスタムオブジェクトのコレクションが表示されます。私は、エンドユーザーがこのようなプロパティを設定できるかどうかは疑問です。ジェネリックリストを指すプロパティを持つには、リストのURLを含む文字列としてプロパティを定義するほうが良いでしょう。

1

カスタムEditorPartを使用してコレクションにアイテムを追加/削除してみてください。私はコレクションをパーソナライズしたWebパーツを構築したことがないので、動作しているかどうかわかりませんが、EditorPartでコレクションを試してみます。それが動作しない場合は、XMLを文字列プロパティにシリアル化します。

関連する問題