我使用自定义编辑器部分开发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部件。
答案 0 :(得分:1)
尝试使用自定义EditorPart添加/删除集合中的项目。我从来没有构建一个个性化集合的Web部件,所以我不知道它是否有效,但我肯定会尝试使用EditorPart进行集合。如果它不起作用,请将XML序列化为字符串属性。
答案 1 :(得分:0)
您的问题似乎与您的代码不符。您的代码显示了一组自定义对象。我怀疑最终用户是否能够设置这样的属性。要拥有一个指向通用列表的属性,最好将该属性定义为包含列表URL的字符串。