900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > asp.NET自定义服务器控件内部细节系列教程四

asp.NET自定义服务器控件内部细节系列教程四

时间:2018-12-12 20:52:39

相关推荐

asp.NET自定义服务器控件内部细节系列教程四

如大家要转载,请保留本人的版权:

/*

*Description:自定义服务器控件内部细节系列教程

*Auther:崇崇-天真的好蓝

*MSN:chongchong@

*Dates:-05-20

*Copyright:ChongChong YiChang HuBei China

*/

四 服务器控件相关元数据Attribute

1.设计期Attribute

设计期Attribute对于控件在可视化设计器内正确运行是很重要的.设计器,属性浏览器和其它的设计期元素使用由设计期attribute提供的元数据的作用如下:

显示属性和事件

执行设计期的序列化

把用来实现设计期的功能的类与控件或者属性类型关联起来

1.1 显示属性和事件的Attribute

ponentModel.BindableAttribute

描述 : 告知属性浏览器绑定数据到属性是否有意义,带有Bindable(true)标记的属性能显示在从属性浏览器中装载的DataBinding对话框里.

应用 : 只应用于属性

ponentModel.BrowsableAttribute

描述 : 告知属性浏览器是否在属性浏览器中显示属性或者事件,属性浏览器默认显示所有公用属性和事件

应用 : 属性和事件

ponentModel.CategoryAttribute

描述 : 提供一个分类名,以这个分类名来显示属性或事件.

应用 : 属性和事件

ponentModel.DefaultEventAttribute

描述 : 告知属性浏览器哪一个控件事件是默认事件.允许页面开发者双击设计界面中的控件,为默认事件编写事件处理代码

应用 : 只应用事件

ponentModel.DefaultPropertyAttribute

描述 : 告知属性浏览器哪一个控件属性是默认属性.允许页面开发者在计界面中选择控件时,该属性被属性浏览器突出显示

应用 : 只应用属性

ponentModel.DescriptionAttribute

描述 : 提供一个简要的描述信息.在用户选择了属性或事件时,属性浏览器就显示这个描述

应用 : 属性和事件

ponentModel.EditorBrowsableAttribute

描述 : 告知代码编辑器是否为属性,方法或事件显示对InterlliSense的支持

应用 : 属性,方法和事件

1.2 设计期的序列化的Attribute

ponentModel.DefaultValueAttribute

描述 : 为属性提供一个默认值

应用 : 属性

ponentModel.DesignerSerializationVisibilityAttribute

描述 : 告知设计器是否序列化属性或者属性的内容,复杂属性含有内容,如子属性或者集合项.DesignerSerializationVisibility具有以下几种值:

Content - 促使属性的内容(如子属性或者集合项)序列化

Hidden - 从序列化机制中隐藏属性

Visible - 序列化属性值

应用 : 属性

ponentModel.NotifyParentPropertyAttribute

描述 : 告知属性浏览器从子属性到父属性或者到控件上传一个更改通知

应用 : 复杂属性和它们的子属性

System.Web.UI.PersistChildrenAttribute

描述 : 告知设计器嵌套在控件标签内的内容是否和子控或者属性对应.WebControl标记为PersistChildren(false)

应用 : 控件

System.Web.UI.PersistenceModeAttribute

描述 : 告知设计器是否把属性保存到控件的标签上,或者把它作为一个嵌套属性进行保存.

PersistenceMode枚举类型具有以下几个值:

Attribute - 使属性保存为控件标签上的一个attribute

EncodeInnerDefaultProperty - 使属性作为控件标签中仅有的内容进行保存.内容是编码的HTML

InnerProperty - 使属性作为控件标签中仅有的内容进行保存.

InnerDefaultProperty - 使属性和控件的任何其它属性一起保存为控件标签中嵌套的内容

应用 : 属性

System.Web.UI.TagPrefixAttribute

描述 : 告知设计器生成一个Register指令,把一个标签前缀映射到命名空间和配件中.当页面开发者把控件从工具箱拖放到设计界面时,这个指令就在.aspx页面冲生成

应用 : 包含服务器控件的配件

1.3 提供高级设计期功能的相关联类的Attribute

ponentModel.DesignerAttribute

描述 : 把设计器与控件关联

应用 : 控件

ponentModel.EditorAttribute

描述 : 把一个用户界面类型编辑器与类型或属性相关联,也把一个组件编辑器与控件相关联

应用 : 类或属性

ponentModel.TypeConverterAttribute

描述 : 把一个类型转换器与类型或属性相关联

应用 : 类或属性

2.解析期Attribute

用于被页面解析器解析.aspx页面的语法,为相应页面中的类生成代码

System.Web.UI.ControlBuilderAttribute

描述 : 将控件与自定义的控件生成器相关联

应用 : 类或属性

System.Web.UI.ParseChildrenAttribute

描述 : 通知解析器是否把控件标签内的嵌套内容翻译为属性或者子控件。

Control没有标记这个属性,意味着解析器把嵌套内容当作子控件。

WebControl标记为ParseChildren(true),因此解析器把嵌套内容当作属性

这个Attribute的两参数形式中的第二个参数是属性名,使用两参数形式时,把控件标签内的嵌套内容必须和第二个参数设定的属性一致

应用 : 控件

System.Web.UI.TemplateContainerAttribute

描述 : 将ITemplate属性的容器控件的类型通知解析器。解析器把这个类型作为数据绑定表达式中的Container的确切类型

应用 : 雷行为ITemplate的属性

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。