C自定义控件的元数据属性.docVIP

  • 5
  • 0
  • 约5.53千字
  • 约 4页
  • 2017-06-07 发布于重庆
  • 举报
C自定义控件的元数据属性

C# 自定义控件的元数据属性 元数据属性应用于服务器控件及其成员,从而提供由设计工具、ASP.NET 页分析器、ASP.NET 运行库以及公共语言运行库使用的信息。当页开发人员在可视化设计器中使用控件时,设计时属性能改进开发人员的设计时体验。仅用于设计时的属性在页请求期间对控件的功能没有任何影响。控件的分析时属性由 ASP.NET 页分析器在其读取页中控件的声明性语法时使用。分析时属性和运行时属性是保证控件在页中正常工作必不可少的内容。 本主题描述常用于控件及其公共属性 (Property) 和事件的元数据属性 (Attribute)。 应用于控件的属性 属性 示例 JIT 编译时代码访问安全属性。 需要使用此属性确保链接到控件的代码具有适当的安全权限。 类带有两个 JIT 编译时代码访问安全属性标记: AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal) 和?AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)。 应将第一个属性应用于控件,但并非必须应用第二个属性,因为继承请求是可传递的,在派生类中仍有效。有关更多信息,请参见 。 [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 应用于演练:开发和使用自定义服务器控件中的?WelcomeLabel?示例控件。 分析时属性。 将自定义控件生成器与控件关联。只有在您希望使用自定义控件生成器,对页分析器用于分析控件的声明性语法的默认逻辑进行修改时,才需要应用此属性。如果仅希望指定控件标记中的内容是否与属性或子控件对应,请使用 (在此表后面的内容中描述),而不要使用自定义控件生成器。 [ControlBuilder(typeof(MyControlBuilder))] 设计时和运行时属性。 指定用作控件的默认值的属性。应用此属性可让一个控件在运行时用作查询中的参数,并可定义 对象在运行时绑定到的默认值。 [ControlValueProperty(Text)] 设计时属性。 在可视化设计器中指定控件的默认事件。在许多可视化设计器中,页开发人员在设计图面上双击控件时,将打开代码编辑器,同时将光标定位到默认事件的事件处理程序中。 [DefaultEvent(Submit)] 应用于复合 Web 控件示例中的?Register?示例控件。 设计时属性。 当页开发人员在设计图面上选择控件时,此属性 (Attribute) 中指定的属性 (Property) 将在可视化设计器的属性 (Property) 浏览器中突出显示。 [DefaultProperty(Text)] 应用于演练:开发和使用自定义服务器控件中的?WelcomeLabel?示例控件。 设计时属性。 指定与控件关联的设计器类。控件设计器类控制关联的控件在可视化设计器的设计图面上的外观和行为。 [Designer(typeof(SimpleCompositeControlDesigner))] 应用于演练:为 Web 服务器控件创建基本控件设计器中的示例控件。 ParseChildrenAttribute 分析时属性。 指定控件标记中的内容是否与属性或子控件对应。Control 类被标记为?ParseChildren(false),表示页分析器将控件标记中的内容解释为子控件。 类被标记为?ParseChildren(true),表示页分析器将控件标记中的内容解释为属性。只有在您希望对在 WebControl 类的 ParseChildrenAttribute 属性中指定的逻辑进行修改时才需要应用此属性。 [ParseChildren(true, Contacts)] 应用于?Web 控件集合属性示例中的?QuickContacts?示例控件。 设计时属性。 指定当以声明方式在页中使用控件时,可视化设计器是否应在该控件的标记中保存子控件或属性。 类被标记为?PersistChildren(true),表示设计器在控件标记中保存子控件。WebControl 类被标记为?PersistChildren(false),表示设计器在控件标记中将属性 (Property) 保存为属性 (Attribute)。 [PersistChildren(false)] 应用于 WebControl 类,并且适用于从此类派生的大多

文档评论(0)

1亿VIP精品文档

相关文档