您的位置:首页 > 编程语言 > ASP

设计时支持之ASP.NET 控件设计器概述

2008-04-07 14:40 381 查看
出处:http://msdn2.microsoft.com/zh-cn/library/wxh45wzs(VS.80).aspx
ASP.NET 控件设计器概述

ASP.NET 增强了对创建 Web 服务器控件的设计器的支持。设计器使您可以为控件生成设计时用户界面 (UI),使得开发人员可以在可视设计工具(如 Microsoft Visual Studio 2005)中配置控件的属性和内容。有关 .NET Framework 所提供的设计时结构和功能的背景信息,请参见扩展设计时支持

本简介解释了 ASP.NET 控件设计器的功能、基本设计器类及其功能和使用设计器的方案。

设计器功能

ASP.NET 2.0 版继续支持早期版本的控件设计器结构,它还作了重大的改进。

基于区域的编辑。区域是控件设计时视图中的可编辑区域。该功能提供了设计时对控件内容的 WYSIWYG 编辑。

操作表。操作表是控件的页面开发人员可以在设计时 UI 中使用的任务菜单。例如,控件的设计时视图可以提供可用任务菜单,包括自动设置控件格式的任务。

数据源和数据绑定设计器。数据源控件设计器使得页面开发人员可以配置数据源控件。数据绑定控件设计器使得页面开发人员可以配置数据绑定控件。提供了一些功能,可用于实现数据源设计器和数据绑定设计器之间的相互通信。有关数据源控件设计器的示例,请参见 DataSourceDesigner。有关数据绑定控件设计器的示例,请参见 HierarchicalDataBoundControlDesigner

简化的模板编辑。为模板化控件(如 GridView)的设计时编辑创建 UI 的模型,已极大地简化和修改,使得控件开发人员可以选择用区域执行自己的模板编辑。有关示例,请参见模板化服务器控件示例

简化的对象模型。已简化使用设计时呈现的对象模型,使得开发人员必须关心的唯一重要的问题是生成设计时 HTML。几个新的基类提供对简化的对象模型的访问:ControlDesignerContainerControlDesignerCompositeControlDesigner

订阅主机服务。控件设计器可以订阅和使用宿主环境所提供的各种服务。例如,控件设计器可以使用 Visual Studio 2005 服务提供对数据的访问、提供对配置的访问、设计时以编程方式向页面添加控件、处理设计器中的 Click 事件、绘制设计图面和访问其他服务(如设计器状态)。

设计器类

通过充当运行时控件和宿主环境之间的调节器,控件设计器启用 Web 服务器控件的设计时呈现。在宿主环境内部,设计器提供下面的功能帮助您为控件的用户创建设计时 UI:

设计时呈现和内容。控件设计器启用多种呈现,包括简单呈现和复杂呈现。基于区域的编辑和模板编辑是可以为控件提供的多种设计时 UI 的示例。还可以在控件上提供列编辑或多个运行时视图,因此设计时使用该控件的开发人员可以就如何在运行时呈现控件从一组选项中进行选择。

其他设计时类。除了设计器类之外,还有与类型或属性关联且执行类型转换(从字符串到值的转换)的类型转换器类。还有为编辑属性提供专用 UI 的 UI 类型编辑器类。例如,属性窗格中的颜色选取器下拉列表使您可以为 Web 控件上的颜色属性选择一种颜色。还可以创建专用的组件编辑器,它是提供对控件的属性进行整体编辑的类。

关联控件的数据的持久性。控件的内部属性和内容可以保持,因此该控件及其子控件在设计时环境中可保持状态。这由标记中配置控件定义的方式控制。

为 Web 服务器控件创建控件设计器时,有几个可能要使用的基类:

ControlDesigner

ContainerControlDesigner

CompositeControlDesigner

DataSourceDesignerBaseDataBoundControlDesignerHierarchicalDataSourceDesigner

使用设计器的方案

有两种可能使用控件设计器的常见方案:开发自定义控件和开发可视设计工具。

如果开发自定义 Web 服务器控件,可以创建关联的设计器来提高页面开发人员在设计时配置控件的能力。如果该控件可能被许多页面开发人员重用,则该方案尤其有用。例如,可能创建自定义图表控件。如果提供关联的控件设计器,则不同的 Intranet 页面开发人员中每个人都可以用不同的样式在页面上配置控件。

如果开发一种与 Visual Studio 2005 或 Microsoft FrontPage 类似的可视 Web 设计工具,则可以使用控件设计器承载组件。这将使您的工具能够提供服务和与控件设计器交互,从而为自定义控件提供设计时呈现。

有关 .NET Framework 设计器结构的更多信息,请参见设计时结构。有关为自定义 Web 服务器控件创建自己的设计器的详细信息,请参见演练:为 Web 服务器控件创建基本控件设计器

支持多种开发工具

Microsoft Visual Web Developer 支持在本主题中讨论的所有功能,但是其他开发工具可能不支持。可能不被支持的功能的一些示例为:

区域。控件开发人员可以检查 SupportsRegions 属性和相应修改控件设计器的行为。

主机服务。使用该服务之前,控件开发人员可以检查 GetService 方法的返回值。有关示例,请参见如何:将服务和操作列表用于控件设计器

区域集合GetDesignTimeHtml 方法的两个版本都应该被重写,因为某些开发工具不支持区域集合。

请参见

概念

设计时结构
具有操作表和服务的示例控件设计器

其他资源

ASP.NET 网页的设计时支持
扩展设计时支持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: