庖丁解牛ASP.NET3.5控件和组件开发技术-(4)服务器控件属性
来源:互联网 发布:淘宝如何增加排名 编辑:程序博客网 时间:2024/06/06 12:54
- 属性,方法和事件是控件使用者和控件交互的接口:包含系统属性和自定义属性。
- 简单属性
- 属性设计特性(查书)
- 复杂属性
- 连字符形式的复杂属性标记
- 内部嵌套复杂属性标记
- 内部嵌套默认复杂属性标记:
- 内部嵌套编码默认属性
- 使用AddParsedSubObject控制复杂属性的内容
- 使用ControlBuilder解析复杂内容
- 属性编辑器(查书)定制自己的属性编辑器 窗体--》UITypeEditor -》Control
- 类型转换器可以用于在数据类型之间转换,并通过提供文本到值的转换或待选值的下拉列表来帮助在设计时配置属性。
- 自定义属性
[Description("简单属性")]
[Category("简单属性")]
public string Value
{
get
{
String s = (String)ViewState["Value"];
return ((s == null) ? String.Empty : s);
}
set
{
ViewState["Value"] = value;
}
}
另外简单属性可以直接使用ViewState存储其值,因为简单属性可以直接映射字符串,而ViewState直接接受的格式也是字符串。
private Person pPerson=null;
[Description("复杂属性--连字符形式")]
[Category("复杂属性")]
[PersistenceMode(PersistenceMode.Attribute)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] //避免复杂属性和子属性值都放在一个框中。
public Person Person
{
get
{
if (pPerson == null)
{
pPerson = new Person();
}
return pPerson;
}
}
Person-Age="28" Person-Name="King Zheng"
PersistenceMode 特性表示在文件中如何保持复杂属性
PersistenceMode.Attribute 作为控件的属性
PersistenceMode.InnerPropery:作为嵌套标签表示复杂属性
PersistenceMode.InnerDefaultProperty:一般用于常用的活重要复杂属性或集合。
PersistenceMode.EncodeInnerDefaultProperty:与InnerDefaultProperty有点区别,其内容进行HTML编码
DesignerSerializtionVisibility:在设计时序列化复杂对象方式
DesignerSerializtionVisibility.Visible 对属性本身生成代码
DesignerSerializtionVisibility.Hidden:不对属性生成代码
DesignerSerializtionVisibility.Visibility.Contend生成复杂属性内容的代码,而不是其本身。
private RowStyle rsRowStyle;
[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[NotifyParentProperty(true)]
[Category("复杂属性")]
[Description("复杂属性--内部嵌套形式")]
public RowStyle RowStyle
{
get
{
if (rsRowStyle == null)
{
rsRowStyle = new RowStyle();
}
return rsRowStyle;
}
}
private Items items;
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[NotifyParentProperty(true)]
[TypeConverter(typeof(CollectionConverter))]
[Category("复杂属性")]
[Description("复杂属性--内部默认嵌套形式")]
public Items Items
{
get
{
if (this.items == null)
{
this.items = new Items();
}
return this.items;
}
}
/// <summary>
/// 文本属性
/// </summary>
[NotifyParentProperty(true)]
[PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
[Description("复杂属性--内部默认嵌套形式")]
public string Text
{
get { return _Text; }
set { _Text = value; }
}
自定义类型转换器继承自TypeConverter,需要OVerride其方法
- 庖丁解牛ASP.NET3.5控件和组件开发技术-(4)服务器控件属性
- 庖丁解牛ASP.NET3.5控件和组件开发技术-(3)从零开始开发服务器控件
- 庖丁解牛ASP.NET3.5控件和组件开发技术-(1)服务器控件概述
- (一)庖丁解牛Asp.net3.5控件和组件开发技术系列—服务器控件开发中的调试技术-郑健
- 《庖丁解牛:纵向切入ASP.NET3.5控件和组件开发技术》- 推荐序
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(4)服务器控件属性】★★★
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(2)服务器控件开发中的调试技术】★★★
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(3)从零开始开发服务器控件】★★★
- 庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术--封面巨照
- 庖丁解牛-Asp.net 3.5控件和组件开发技术一书已经成功出版
- 《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》
- 英文版资料[庖丁解牛—纵向切入Asp.net 3.5控件和组件开发技术]
- 书讯 —《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》第二版
- 庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术 郑健
- 庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—教程
- 庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术—读者序
- 庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术
- 《庖丁解牛-纵向切入ASP.NET 3.5控件和组件开发技术》
- 万年历
- 第五次个人赛E题 Bone Collector 01背包问题
- 修改linux系统安装界面的语言!
- VC6.0编译器参数的设置
- CentOS 安装温度监控 lm_sensors
- 庖丁解牛ASP.NET3.5控件和组件开发技术-(4)服务器控件属性
- 祭奠我的小5
- PPC 仿真环境的搭建(2) --- build_ptest
- U盘振救了我的系统
- 图像分辨率增强或者改变图像大小
- js 鼠标滚轮缩放图片
- iBATIS和spring
- C# Request.ServerVariables参数集
- GridControl 更改分组标题,获取分组标题