如大家要转载,请保留本人的版权:
/*
*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自定义服务器控件内部细节系列教程四相关推荐

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

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

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

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

  3. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  4. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 上一个教程:ASP .NET Core 系列教程三:自动生成Razor ...

  5. 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 ...

  6. ASP.NET Core 和 EF Core系列教程——CRUD

    ASP.NET Core 和 EF Core系列教程--CRUD (2 / 10) CRUD 为创建.读取.更新.删除的英文首字母的缩写 作者:Tom Dykstra和Rick Anderson Co ...

  7. ASP.NET Core Web Razor Pages系列教程八: 添加验证

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  8. ASP.NET Core Web Razor Pages系列教程七: 添加新的字段

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  9. ASP.NET Core Web Razor Pages系列教程六:添加搜索功能

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

最新文章

  1. Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
  2. css动画 animation
  3. JPQL中使用LIKE进行模糊查询
  4. MyEclipse部署Tomcat服务器时总是跳到Debug模式
  5. QT之Variant
  6. Java3y文章目录导航
  7. PPT如何让多对象排列整齐
  8. JavaFX将会留下来!
  9. Sharepoint CAML 增删改查 List
  10. VB 断开指定进程网络连接函数
  11. 图像大小批量调整工具Image Resizer for Mac
  12. ubuntu下使用命令行查看opencv版本
  13. android 清理系统垃圾,安卓手机怎么清理系统垃圾
  14. 亿阳信通:不可表示的数
  15. SD-WAN网络加速,开通游戏快车道
  16. 免费Zblog站群采集管理插件工具
  17. android 短视频编辑,短视频编辑制作大师
  18. 【PBL项目实战】户外智慧农场项目实战系列——7.Mind+Mixly双平台工业级多合一空气质量传感器数据上云及云端可视化展示
  19. 登录搜狐邮箱并发送邮件的3中方法
  20. Java分布式二手房项目尚好房第五课 图片上传及前端房源展示

热门文章

  1. python内置方法就是内置函数_python内置函数
  2. Java就业难不难?是否要参加Java培训?
  3. 【camera】YOLOV7实现实例分割+目标检测任务(训练、测试、量化、部署)
  4. Matlab大气湍流退化模型
  5. python绝对路径的区别_python学习:绝对路径和相对路径
  6. 基于简化点云地图的语义边缘对齐的单目定位方法
  7. 在Ubuntu 14.04 64bit上下载更新x265源码
  8. 3D游戏设计和创作工具学习教程 3D Game Design Creation Tools
  9. Unity初学Shadergraph创建着色器学习教程
  10. linux open系统调用的O_DIRECT标记