创建数据绑定 Web 部件控件

更新:2007 年 11 月

通过从 WebPart 基类继承,可以将 Web 部件功能赋予普通的数据绑定服务器控件。在 Web 部件应用程序中,最终用户能够修改(个性化)服务器控件的行为和用户界面 (UI),并将它们的设置保存在长期存储中,供将来的浏览器会话使用。用户可以动态地更改页面的外观,方法为添加或删除控件、编辑控件的属性和外观、重新排列页面布局、导入或导出控件的设置甚至构造使控件能够共享数据的连接。若要了解有关 Web 部件应用程序的更多信息,请参见 ASP.NET Web 部件控件中列出的主题。本主题介绍在 Web 部件应用程序中使用自定义的数据绑定 WebPart 控件(或任何服务器控件)的必备条件,并汇总了 WebPart 基类的一些成员(这些成员通常有助于在创建自定义控件时进行实现或重写)。主题数据绑定 Web 部件控件示例中举例说明了重写和实现其中几个成员。

使用 Web 部件控件的所需元素

Web 部件控件不能独立运行,也不能仍旧保留其 Web 部件功能。如果在 Web 应用程序中运行 WebPart 控件,但没有某个 Web 部件应用程序所需的其他元素,则该控件将只丢失其作为普通服务器控件的 Web 部件特性和功能。下面的列表说明在使用自定义 WebPart 控件的 Web 部件功能之前必须存在的必需元素:

经常重写或使用的 Web 部件成员

虽然 Web 部件应用程序中可以使用任何类型的服务器控件,但创建自定义 WebPart 控件有一些好处(有关详细信息,请参见在 Web 部件应用程序中使用 ASP.NET 服务器控件)。当从 WebPart 基类继承时,没有必须实现的成员。但有一些可能需要使用或重写的常用成员,它们汇总在下表中。有关作为 WebPart 控件实现的数据绑定服务器控件的完整示例,请参见数据绑定 Web 部件控件示例。下表汇总了一些常用的成员。

成员

说明

WebPart

此构造函数的常见用法是设置一些属性的默认值,这些属性确定 WebPart 控件的外观和行为,类似于从 Part 类继承的属性或行为属性(如 AllowEditAllowLayoutChange 属性)。

行为属性

其中包含该类的许多“允许”属性,如 AllowCloseAllowConnectAllowEditAllowMinimizeAllowLayoutChangeAllowZoneChange。开发人员并不仅仅在构造函数中将默认值分配给这些属性,而是可以完全控制属性,例如通过禁止使用该控件的用户或开发人员关闭它。

CreateChildControls

当从 WebPart 类继承时,需要为自定义控件提供 UI。能达到此目的的一种非常有效的方式是重写 CreateChildControls 方法,并在此方法中添加其他服务器控件来构成自定义控件的 UI。在添加这些控件时可能需要执行其他任务,如为它们创建自定义事件处理程序或者将它们绑定到数据源。

呈现方法

可能需要重写通用呈现方法,如 RenderControlRenderContents。在这些方法中,可以完全重写呈现,或者首先调用基方法,然后修改呈现的某些方面。

Verbs

如果创建的自定义 WebPartVerb 对象将显示在具有标准谓词(如关闭和最小化)的控件谓词菜单上,则必须将这些对象添加到控件的 Verbs 集合。

CreateEditorParts

如果创建自定义 EditorPart 控件用于使用户可以编辑控件的自定义属性,则必须重写 CreateEditorParts 方法以将这些属性与控件相关联。有关示例,请参见 IWebEditable 接口。

PersonalizableAttribute

当您在 WebPart 控件中创建自定义属性时,通常希望用户能够像标准的 WebPart 控件属性那样编辑和个性化这些属性,以便可以保存其设置。将 Personalizable 元数据属性 (Attribute) 添加到用户应该能够个性化的任何属性 (Property)。

数据绑定 Web 部件控件示例

有关演示如何创建 GridView 控件(该控件绑定到 Northwind 数据库)以及作为 WebPart 控件实现该控件的完整代码示例,请参见数据绑定 Web 部件控件示例

请参见

任务

演练:创建 Web 部件页

概念

ASP.NET Web 部件概述

参考

WebPart

其他资源

ASP.NET Web 部件控件