(3)PersistenceMode(PersistenceMode.InnerDefaultProperty),指定属性在服务器控件中保持为内部文本。还唆使将该属性定义为元素的默认属性。只能指定一个属性为默认属性;
(4)PersistenceMode(PersistenceMode.InnerProperty),指定属性在服务器控件中保持为嵌套标记。这通常用于复杂对象;它们具有自己的持久性属性;
· DefaultProperty
指定服务器控件的默认属性。例如:[DefaultProperty('MyProperty')]。
· TypeConverter
指定用作此特征所绑定到的对象的转换器的类型。用于转换的类必需从TypeConverter持续。应用ConverterTypeName属性来获取为该特征所绑定到的对象供给数据转换的类名。
2. 简略属性实现方法
在前面的几篇文章中已经先容了一些简略属性的实现方法。从中可以发明创立简略属性可以应用私有变量、视图状态和控件状态等。在此,笔者无意对这些内容进行重复。感爱好的读者可参阅有关文章。本节仅对实现简略属性的过程进行总结,并通过一个实现简略枚举属性的示例加以阐明。示例代码如下所示:
// 定义枚举
public enum BookType{
NotDefined = 0, Fiction = 1, NonFiction = 2
}
// 实现属性BookType[Bindable(true),Category('Appearance'),DefaultValue(BookType.NotDefined),Description('Fiction or Not'),]
public virtual BookType BookType{
get {
object t = ViewState['BookType'];
return (t == null) ? BookType.NotDefined : (BookType)t;
}
set { ViewState['BookType'] = value; }
}
以上代码实现了一个枚举BookType(包含3个枚举值)和一个类型为BookType的属性BookType。根据前文所述基础概念可知,BookType是一个简略属性。同时,该属性将属性值存储在视图状态ViewState中。通过这个实例,我们基础可以总结出简略属性的实现方法:
(1)判定所要声明的属性是否是通用情势属性;
(2)判定所要声明的属性所封装的属性值是否是简略数值类型、String还是枚举类型等;
(3)假如步骤1和2都为真,则判定所要声明的属性是简略属性;
(4)声明该属性的设计时特征;
(5)根据属性的设计需求,编写读写拜访器代码;
3. 小结
本文先容了利用ASP.NET 2.0技巧,为自定义服务器控件创立简略属性的内容。随着读者对自定义服务器控件开发的逐步懂得将会发明,实现简略属性是构建控件过程中较为简略,也是较为常见的实现内容。在创立过程中,读者必需懂得应用私有变量、控件状态和视图状态的不同之处。这样才干又快又好的实现简略属性。
感谢 靓哥 的投稿 本文仅代表作者观点,与楚天站长站立场无关。