一、什么是Web部件
目前,有越来越多的网站为用户定制了个性化的功能,典型的有msn,用户可以在登陆之后,改变网页的布局,添加自己喜欢的内容,删除不感兴趣的内容等等。ASP.NET2.0新增的Web部件可以快速实现以上功能。
ASP.NET Web 部件是一组集成控件,用于创建网站使最终用户可以直接从浏览器修改网页的内容、外观和行为。这些修改可以应用于网站上的所有用户或个别用户。当用户修改页和控件时,可以保存这些设置以便跨以后的各浏览器会话保留用户的个人首选项,这种功能称为个性化设置。这些 Web 部件功能意味着开发人员可以使最终用户动态地对 Web 应用程序进行个性化设置,而无需开发人员或管理员的干预。
通过使用 Web 部件控件集,开发人员可以使最终用户执行下列操作:
-
对页内容进行个性化设置。用户可以像操作普通窗口一样在页上添加新 Web 部件控件,或者移除、隐藏或最小化这些控件。
-
对页面布局进行个性化设置。用户可以将 Web 部件控件拖到页的不同区域,也可以更改控件的外观、属性和行为。
-
导出和导入控件。用户可以导入或导出 Web 部件控件设置以用于其他页或站点,从而保留这些控件的属性、外观甚至是其中的数据。这样可减少对最终用户的数据输入和配置要求。
-
创建连接。用户可以在各控件之间建立连接;例如,Chart 控件可以为 Stock Ticker 控件中的数据显示图形。用户不仅可以对连接本身进行个性化设置,而且可以对 Chart 控件如何显示数据的外观和细节进行个性化设置。
-
对站点级设置进行管理和个性化设置。授权用户可以配置站点级设置、确定谁可以访问站点或页、设置对控件的基于角色的访问等。例如,管理员角色中的用户可以将 Web 部件控件设置为由所有用户共享,并禁止非管理员用户对共享控件进行个性化设置。
二、Web部件集介绍
在VS2005的工具箱中WebParts系列控件如图所示
WebPart系列控件一共有13个基本控件。根据它们实现功能的不同,可以分成5大类:
(1)实现Web部件管理。包括WebPartManager和ProxyWebPartManager。WebPartManager是整个Web部件的控制中心;如果母版页中使用了WebPartManager,与之关联的内容页必须使用ProxyWebPartManager。
(2)作为容器的WebPartZone控件。在这个容器中可以添加Web服务器控件,用户控件或者继承自WebPart类的控件。
(3)实现目录管理的控件。包括CatalogZone、DeclarativeCatalogZone、PageCatalogZone、ImportCatalogZone。
(4)实现WebPart编辑的控件。包括EditorZone、AppearanceEditorZone、BehaviorEditorZone、LayoutEditorZone、PropertyGridEditorZone。
(5)实现Web部件之间通信的ConnectionsZone控件。
Web部件系列控件列表:
Web 部件控件 | 说明 |
WebPartManager | 管理页面上的所有 Web 部件控件。每个 Web 部件页都需要一个(且只需要一个)WebPartManager 控件。 |
包含 CatalogPart 控件。使用此区域创建 Web 部件控件目录,用户可以从该目录中选择要添加到页上的控件。 | |
包含 EditorPart 控件。使用此区域使用户可以对页面上的 Web 部件控件进行编辑和个性化设置。 | |
包含并提供 WebPart 控件(构成页面的主要用户界面)的整体布局。只要您创建具有 Web 部件控件的页,就会使用此区域。页面可以包含一个或多个区域。 | |
包含 WebPartConnection 控件,并提供用于管理连接的用户界面。 | |
WebPart | 呈现主要用户界面;大多数 Web 部件用户界面控件属于此类别。 若要最大限度地实现编程控制,可以创建从 WebPart 基控件派生的自定义 Web 部件控件。 此外,还可以将现有服务器控件、用户控件或自定义控件用作 Web 部件控件。只要在区域中放置了上述任意控件,在运行时 WebPartManager 控件就会自动用 GenericWebPart 控件包装这些控件,以便您可以通过 Web 部件功能使用这些控件。 |
CatalogPart | 包含用户可添加到页面上的可用 Web 部件控件的列表。 |
WebPartConnection | 在页面上两个 Web 部件控件之间创建连接。该连接将其中一个 Web 部件控件定义为数据的提供者,而将另一个定义为使用者。 |
EditorPart | 用作专用编辑器控件的基类。 |
EditorPart 控件 (AppearanceEditorPart、LayoutEditorPart、BehaviorEditorPart 和 PropertyGridEditorPart) | 允许用户对页面上 Web 部件用户界面控件的各个方面进行个性化设置。 |