WebPartZone.GetInitialWebParts 方法

定义

重写抽象基方法,并获取区域模板中初始的静态 WebPart 控件集。

protected public:
 override System::Web::UI::WebControls::WebParts::WebPartCollection ^ GetInitialWebParts();
protected internal override System.Web.UI.WebControls.WebParts.WebPartCollection GetInitialWebParts ();
override this.GetInitialWebParts : unit -> System.Web.UI.WebControls.WebParts.WebPartCollection
Protected Friend Overrides Function GetInitialWebParts () As WebPartCollection

返回

包含区域模板中的所有 WebPartCollection 控件或其他服务器控件的 WebPart

注解

方法 GetInitialWebParts 提供抽象基 GetInitialWebParts 方法的实现。 基方法不提供实现,但声明 方法,以便派生类可以自定义它们如何获取属于某个区域的初始控件集,而无需考虑个性化更改。

对于在区域中找到的每个服务器控件, CreateWebPart 将调用 方法。 如果控件直接继承自 WebPart 类,则只需将其添加到区域的 WebParts 集合 (和控件) 的 WebPartManager 类似集合中。 如果控件不直接继承自 WebPart,则 Web 部件控件集使用 GenericWebPart 对象包装控件,该对象使控件能够在运行时充当控件 WebPart

WebPartZone 通过返回控件集来实现基方法, (在 Web 部件页的标记的 <zonetemplate> 一组标记中静态声明的任何) 。 PlaceHolder如果在区域中声明控件,则会添加该控件的子控件,而不是控件本身。 例如,此实现允许您在母版页中创建 WebPartZone 区域,然后在内容页中声明单个 WebPart 控件或服务器控件。 如果在区域中WebPartZone声明Literal控件,则忽略这些控件。

注意

在进行个性化设置后,方法返回 GetInitialWebParts 的控件的初始集合可能与区域中控件的实际运行时集合不同。 例如,假设你有一个包含两 WebPartZone 个控件的网页,第一个包含名为 User1 的用户控件,该控件在标记中 <zonetemplate> 静态声明。 如果用户加载页面并拖动 User1 到第二个区域,则 User1 仍然是通过为第一个区域调用 GetInitialWebParts 方法返回的集合的一部分,因为它是在该区域中声明的。 但在运行时,当 WebPartManager 控件加载个性化设置数据时, User1 实际上会显示在用户拖动数据的第二个区域中。

适用于

另请参阅