本质:
WebParts把网页隔成了一个一个更小的空间。http://www.3721.com/就是一个WebParts的例子。
VS2005控件图
WebPartManager
| ||||||||||||||||
WebPartManager 控件是 Web 部件控件集的核心控件,用于管理所有 Web 部件控件、Web 部件功能和 Web 部件事件。 必须向使用 Web 部件控件的每个页添加一个(仅仅一个)WebPartManager 控件。WebPartManager 控件只能由通过身份验证的用户使用。 WebPartManger 任务下表列出了由 WebPartManager 控件执行的任务。
将 Web 部件控件与 WebPartManager 关联若要将 Web 部件控件与 WebPartManager 关联,需要将 Web 部件控件放入 WebPartZone 控件区域,还必须在同一页中放入一个 WebPartManager 控件。
| ||||||||||||||||
ProxyWebPartManager | ||||||||||||||||
当在内容页的关联母版页中声明了 WebPartManager 控件时,即可利用 ProxyWebPartManager 控件在内容页中声明静态连接。 一个使用 Web 部件控件的网页必须包含且只能包含一个 WebPartManager 控件,该控件用于管理该页上的所有 Web 部件控件。当 Web 部件应用程序使用母版页时,通常将 WebPartManager 控件放在母版页中。如果内容页与母版页在运行时相合并,单个 WebPartManager 控件即可管理所有内容页上的 Web 部件控件。 若要声明静态连接,通常需要将 <asp:webpartconnection> 元素添加为 <staticconnections> 元素的子元素,而后者本身又必须是 <asp:webpartmanager> 元素的子元素。但是,如果您使用的是母版页,并将 WebPartManager 控件放在母版页中,您将无法在内容页中创建 <asp:webpartmanager> 元素;只允许存在一个 WebPartManager 控件。此时的解决方案是:在内容页上使用 ProxyWebPartManager 控件来代替 WebPartManager 控件。 在运行时,ProxyWebPartManager 控件中的连接会被添加到 WebPartManager 控件的 StaticConnections 集合中,并被视为与任何其他连接等同。 有关演示如何使用 ProxyWebPartManager 类的代码示例,请参见 System.Web.UI.WebControls.WebParts.ProxyWebPartManager 的“示例”部分。 ProxyWebPartManager 控件与 WebManagerControl 之间需要注意的差异只有在母版页中创建了 WebPartManager 控件并要在内容页中声明静态连接时才使用 ProxyWebPartManager 控件。因此,ProxyWebPartManager 控件与 WebPartManager 控件相比功能要受到更多限制。虽然 ProxyWebPartManager 控件充当的是旨在包含内容页中 WebPartManager 控件的静态连接的代理,但它并不是继承自 WebPartManager 控件。它直接继承自 Control 类,并且只重写了几个基成员。
| ||||||||||||||||
WebPartZone | ||||||||||||||||
WebPartZone 控件用作 Web 部件控件集中用于承载网页上的 WebPart 控件的主要控件,并为其包含的控件提供公共 UI。 WebPartZone 控件从基类 WebZone 中继承用户界面元素,并为其包含的控件提供公共 UI。这些公共 UI 元素统称为镶边,由所有控件上的外围 UI 元素组成,这些元素包括:边框、标题、页眉和页脚、样式特性以及谓词(即用户可以在控件上执行的 UI 操作,如关闭或最小化)等。 | ||||||||||||||||
CatalogZone
| ||||||||||||||||
Web 部件控件(例如 CatalogZone 控件)的一项主要功能是可以让最终用户个性化网页并保存其个性化设置。CatalogZone 控件允许最终用户在运行时向 Web 部件页添加 WebPart 控件或其他服务器控件。CatalogZone 控件用作 Web 部件控件集内的主控件,用于在网页中承载 CatalogPart 控件。 仅当用户将网页切换至目录显示模式 (CatalogDisplayMode) 时,CatalogZone 控件才变为可见。有关演示如何使用 CatalogZone 控件的代码示例. CatalogZone Web 服务器控件附带的 CatalogPart 控件 由 CatalogZone 控件创建的区域可以包含多种 CatalogPart 控件。每个 CatalogPart 控件都是一种容器,其中包含用户可添加至页面的服务器控件。CatalogPart 控件因其包含的服务器控件的来源而不同。
| ||||||||||||||||
DeclarativeCatalogPart | ||||||||||||||||
DeclarativeCatalogPart 控件使您能够将 WebPart 或其他服务器控件的目录添加到网页中,同时也使用户能够在运行时更改页面上的控件集和功能。目录是 WebPart 或其他服务器控件的列表,当页面处于目录显示模式时,该列表是可见的。在设计时,您可以将控件添加到 DeclarativeCatalogPart 控件中;在运行时,用户可以选择要在页面中查看的控件,方法是从目录列表中进行选择。有关更多信息,请参见 ASP.NET Web 部件页。
启用 DeclarativeCatalogPart Web 服务器控件必须将 DeclarativeCatalogPart 放在 CatalogZoneBase 区域中,如 CatalogZone 区域。仅当网页处于目录显示模式时 DeclarativeCatalogPart 控件才变为可见。 有关演示如何使用 CatalogZone 控件的代码示例,请参见 CatalogZone Web 服务器控件声明性语法和 CatalogZone 中的“示例”一节。 创建控件的应用程序范围的目录DeclarativeCatalogPart 使您能够设置可在整个站点中使用的控件目录。您可以将 WebPartsListUserControlPath 属性设置为用户控件(包含目录中的服务器控件列表)的路径,而不是在 DeclarativeCatalogPart 控件中声明单独的服务器控件。在运行时,用户控件中引用的服务器控件在目录中加载。此策略使多个页面或站点能够引用相同的用户控件来创建目录。当用户控件中的服务器控件列表更新时,将更新基于该用户控件的所有目录。 | ||||||||||||||||
PageCatalogPart | ||||||||||||||||
PageCatalogPart 类充当页目录来维护以前添加到某个用户已关闭的页的所有控件,以便该用户能够将这些控件重新添加到该页。仅当网页处于目录显示模式(一种特殊视图,使用户能够添加和移除页上的控件)时,此控件才可见。只有已关闭的控件才添加到页目录。如果希望向用户提供关闭和重新打开控件的灵活性,请将一个 PageCatalogPart 控件添加到页。
有关更多信息,请参见 ASP.NET Web 部件页。 关于已关闭的控件用户可以关闭 Web 部件页上的控件。已关闭的控件具有下面的特性:
关闭控件与删除控件不同,删除是将控件从页上永久移除。用户可以从页目录重新打开已关闭的控件实例,如果用户删除控件,则永远无法恢复该控件的实例。
| ||||||||||||||||
ImportCatalogPart | ||||||||||||||||
ImportCatalogPart Web 服务器控件为一个 WebPart 控件(或用作 WebPart 控件的其他 ASP.NET 服务器控件)导入说明文件,以便可以按预先指定的设置由用户在运行时将该控件添加到网页中。该说明文件使用户可以共享 WebPart 控件的设置。 说明文件与控件本身不同。它是以 .WebPart 扩展名结尾的 XML 文件,并包含名称/值对(描述控件的状态)。说明文件使用特定的 XML 格式,如主题 Web 部件控件说明文件中所述。除了描述控件的状态以外,说明文件还引用该控件名和包含该控件的程序集(或文件)。 用户导入说明文件之后,在该文件中引用的 WebPart 控件出现在 ImportCatalogPart 控件中,并且用户可以将该控件添加到页面上。 将 Web 部件控件与 ImportCatalogPart Web 服务器控件关联与 ImportCatalogPart 控件关联的 Web 部件控件可以编译成程序集,也可以是一个用户控件(.ascx 文件)。在任一情况下,导入的说明文件中引用的控件都必须存在于包含宿主网页的 Web 服务器上。 用户使用 ImportCatalogPart 控件将说明文件(及其关联的服务器控件)导入网页,您必须已经将此控件添加到页面中。当用户将页面切换到目录显示模式后,将出现 ImportCatalogPart 控件,用户可以浏览到此控件的 .WebPart 说明文件,然后导入此控件。控件的外观和属性在导入的说明文件中指定。 在导入 WebPart 控件的说明文件之前,用户必须首先基于现有的 WebPart 控件创建(导出)该文件。满足以下条件时,可以为一个控件导出说明文件:
启用 ImportCatalogPart Web 服务器控件当 Web 部件页处于编辑模式以及用户选择某一关联的 WebPart 控件进行编辑时,在运行时将显示 ImportCatalogPart Web 服务器控件。有关更多信息,请参见演练:更改 Web 部件页上的显示模式。 | ||||||||||||||||
EditorZone | ||||||||||||||||
Web 部件的一项主要功能是使最终用户能够个性化网页并保存其个性化设置。修改 Web 部件页的一个方面包括编辑可见 WebPart 控件的外观、布局、行为和其他属性。 Web 部件控件集中有多个控件可提供编辑功能,其中包括 EditorZone 控件,此控件是 Web 部件控件集中用于承载网页上的 EditorPart 控件的主控件。 下表提供了可由 EditorZone 承载的 EditorPart 控件以及每个受承载控件的说明的列表。
当用户将 Web 部件页置于编辑模式时,EditorZone 控件将变为可见的。 有关显示模式的详细信息,请参见演练:更改 Web 部件页上的显示模式。 EditorZone Web 服务器控件是一个区域控件。有关区域及如何在 Web 部件应用程序中使用区域的更多信息,请参见演练:创建 Web 部件页、WebZone 基类的参考文档以及 Web 部件控件集概述。 | ||||||||||||||||
AppearanceEditorPart | ||||||||||||||||
AppearanceEditorPart 控件使最终用户能够编辑 WebPart 控件的几个用户界面属性。 下表列出了用户可自定义的功能,以及可使用 AppearanceEditorPart 控件编辑的对应的 WebPart 控件属性值。
|