请教一个自定义控件的Items属性的问题
请假各位,我开发了一个自定义控件,这个控件有一个属性Items,和DropDownList的Items属性是一样的,但是我可能缺少类型转换器的声明,致使出现这样的错误:
无法从其“Items”属性的字符串表示形式“(Collection)”创建“System.Web.UI.WebControls.ListItemCollection”类型的对象。
以下是我的代码:
[Bindable(true)]
[PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
[Editor("System.Web.UI.Design.WebControls.ListItemsCollectionEditor,System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
[MergableProperty(false)]
[DefaultValue("")]
[TypeConverter(typeof(CollectionConverter))]
public ListItemCollection Items
{
get
{
ListItemCollection s = (ListItemCollection)ViewState["Items"];
return s;
}
set
{
ViewState["Items"] = value;
}
}
看了一些帖子和网上资料,是说属性的信息都保存为字符串,这些属性都要从字符串转化而来。那么也就是说需要一个ListItemCollection的转换器。我看了帮助文件(惭愧,太多了,实在看不懂啊),用了上述声明的CollectionConverter,不幸的是,不管用。
请假各位方家,应该使用什么现成的转换器呢?我想既然微软已经提供了DropDownList的Items属性,那么转换器也应该做好了的,我利用他的就行了,只是不知道到底是哪个?
另外是否因为我的代码问题呢?
谢谢大家!