asp.NET自定义服务器控件内部细节系列教程四
如大家要转载,请保留本人的版权:
/*
*Description:asp.NET自定义服务器控件内部细节系列教程
*Auther:崇崇-天真的好蓝
*MSN:chongchong2008@msn.com
*Dates:2007-05-20
*Copyright:ChongChong2008 YiChang HuBei China
*/
四 服务器控件相关元数据Attribute
1.设计期Attribute
设计期Attribute对于控件在可视化设计器内正确运行是很重要的.设计器,属性浏览器和其它的设计期元素使用由设计期attribute提供的元数据的作用如下:
显示属性和事件
执行设计期的序列化
把用来实现设计期的功能的类与控件或者属性类型关联起来
1.1 显示属性和事件的Attribute
System.ComponentModel.BindableAttribute
描述 : 告知属性浏览器绑定数据到属性是否有意义,带有Bindable(true)标记的属性能显示在从属性浏览器中装载的DataBinding对话框里.
应用 : 只应用于属性
System.ComponentModel.BrowsableAttribute
描述 : 告知属性浏览器是否在属性浏览器中显示属性或者事件,属性浏览器默认显示所有公用属性和事件
应用 : 属性和事件
System.ComponentModel.CategoryAttribute
描述 : 提供一个分类名,以这个分类名来显示属性或事件.
应用 : 属性和事件
System.ComponentModel.DefaultEventAttribute
描述 : 告知属性浏览器哪一个控件事件是默认事件.允许页面开发者双击设计界面中的控件,为默认事件编写事件处理代码
应用 : 只应用事件
System.ComponentModel.DefaultPropertyAttribute
描述 : 告知属性浏览器哪一个控件属性是默认属性.允许页面开发者在计界面中选择控件时,该属性被属性浏览器突出显示
应用 : 只应用属性
System.ComponentModel.DescriptionAttribute
描述 : 提供一个简要的描述信息.在用户选择了属性或事件时,属性浏览器就显示这个描述
应用 : 属性和事件
System.ComponentModel.EditorBrowsableAttribute
描述 : 告知代码编辑器是否为属性,方法或事件显示对InterlliSense的支持
应用 : 属性,方法和事件
1.2 设计期的序列化的Attribute
System.ComponentModel.DefaultValueAttribute
描述 : 为属性提供一个默认值
应用 : 属性
System.ComponentModel.DesignerSerializationVisibilityAttribute
描述 : 告知设计器是否序列化属性或者属性的内容,复杂属性含有内容,如子属性或者集合项.DesignerSerializationVisibility具有以下几种值:
Content - 促使属性的内容(如子属性或者集合项)序列化
Hidden - 从序列化机制中隐藏属性
Visible - 序列化属性值
应用 : 属性
System.ComponentModel.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
System.ComponentModel.DesignerAttribute
描述 : 把设计器与控件关联
应用 : 控件
System.ComponentModel.EditorAttribute
描述 : 把一个用户界面类型编辑器与类型或属性相关联,也把一个组件编辑器与控件相关联
应用 : 类或属性
System.ComponentModel.TypeConverterAttribute
描述 : 把一个类型转换器与类型或属性相关联
应用 : 类或属性
2.解析期Attribute
用于被页面解析器解析.aspx页面的语法,为相应页面中的类生成代码
System.Web.UI.ControlBuilderAttribute
描述 : 将控件与自定义的控件生成器相关联
应用 : 类或属性
System.Web.UI.ParseChildrenAttribute
描述 : 通知解析器是否把控件标签内的嵌套内容翻译为属性或者子控件。
Control没有标记这个属性,意味着解析器把嵌套内容当作子控件。
WebControl标记为ParseChildren(true),因此解析器把嵌套内容当作属性
这个Attribute的两参数形式中的第二个参数是属性名,使用两参数形式时,把控件标签内的嵌套内容必须和第二个参数设定的属性一致
应用 : 控件
System.Web.UI.TemplateContainerAttribute
描述 : 将ITemplate属性的容器控件的类型通知解析器。解析器把这个类型作为数据绑定表达式中的Container的确切类型
应用 : 雷行为ITemplate的属性
转载于:https://www.cnblogs.com/amboyna/articles/884746.html
asp.NET自定义服务器控件内部细节系列教程四相关推荐
- asp.NET自定义服务器控件内部细节系列教程五
如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...
- asp.NET自定义服务器控件内部细节系列教程一
如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...
- ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 上一个教程:ASP .NET Core 系列教程三:自动生成Razor ...
- ASP.NET Core Web Razor Pages系列教程:使用ASP.NET Core创建Razor Pages Web应用程序
ASP .Net Core Razor Pages MySQL Tutorial 本系列教程翻译自微软官方教程,官方教程地址:Tutorial: Create a Razor Pages web ap ...
- ASP.NET Core 和 EF Core系列教程——CRUD
ASP.NET Core 和 EF Core系列教程--CRUD (2 / 10) CRUD 为创建.读取.更新.删除的英文首字母的缩写 作者:Tom Dykstra和Rick Anderson Co ...
- ASP.NET Core Web Razor Pages系列教程八: 添加验证
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程七: 添加新的字段
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程六:添加搜索功能
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
最新文章
- Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
- css动画 animation
- JPQL中使用LIKE进行模糊查询
- MyEclipse部署Tomcat服务器时总是跳到Debug模式
- QT之Variant
- Java3y文章目录导航
- PPT如何让多对象排列整齐
- JavaFX将会留下来!
- Sharepoint CAML 增删改查 List
- VB 断开指定进程网络连接函数
- 图像大小批量调整工具Image Resizer for Mac
- ubuntu下使用命令行查看opencv版本
- android 清理系统垃圾,安卓手机怎么清理系统垃圾
- 亿阳信通:不可表示的数
- SD-WAN网络加速,开通游戏快车道
- 免费Zblog站群采集管理插件工具
- android 短视频编辑,短视频编辑制作大师
- 【PBL项目实战】户外智慧农场项目实战系列——7.Mind+Mixly双平台工业级多合一空气质量传感器数据上云及云端可视化展示
- 登录搜狐邮箱并发送邮件的3中方法
- Java分布式二手房项目尚好房第五课 图片上传及前端房源展示
热门文章
- python内置方法就是内置函数_python内置函数
- Java就业难不难?是否要参加Java培训?
- 【camera】YOLOV7实现实例分割+目标检测任务(训练、测试、量化、部署)
- Matlab大气湍流退化模型
- python绝对路径的区别_python学习:绝对路径和相对路径
- 基于简化点云地图的语义边缘对齐的单目定位方法
- 在Ubuntu 14.04 64bit上下载更新x265源码
- 3D游戏设计和创作工具学习教程 3D Game Design Creation Tools
- Unity初学Shadergraph创建着色器学习教程
- linux open系统调用的O_DIRECT标记