如何在webpart中将Personalizable属性设置为通用列表?

时间:2011-02-07 17:52:45

标签: sharepoint-2007 web-parts personalization

我使用自定义编辑器部分开发Web部件并面对这个问题 是否可以在Web部件中将Personalizable属性设置为通用List? 例如,我想要这样的东西:

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

是否有可能,什么样的类型可以用作“个性化”? 谢谢。

解决方案:
我使用自定义EditorPart使用AssetUrlSelector选择多个列表,但我需要一种方法为最终用户个性化此集合。List<of custom objects>不起作用,但我发现List<string>(和只有字符串)完美地工作。因此,我在EditorPart中获得了必需的列表,并使用List<string>将它们传递给Web部件。

2 个答案:

答案 0 :(得分:1)

尝试使用自定义EditorPart添加/删除集合中的项目。我从来没有构建一个个性化集合的Web部件,所以我不知道它是否有效,但我肯定会尝试使用EditorPart进行集合。如果它不起作用,请将XML序列化为字符串属性。

答案 1 :(得分:0)

您的问题似乎与您的代码不符。您的代码显示了一组自定义对象。我怀疑最终用户是否能够设置这样的属性。要拥有一个指向通用列表的属性,最好将该属性定义为包含列表URL的字符串。