WebPartZone.GetInitialWebParts 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重写抽象基方法,并获取区域模板中包含的初始静态 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 控件或服务器控件。 如果在区域中Literal声明WebPartZone控件,则忽略它们。
注释
方法返回 GetInitialWebParts 的控件的初始集合可能与区域中控件的实际运行时集合不同,在进行个性化设置后。 例如,假设你有一个包含两 WebPartZone 个控件的网页,第一个控件包含名为 User1 在标记中 <zonetemplate> 静态声明的用户控件。 如果用户加载页面并拖动 User1 到第二个区域,则 User1 仍然是通过调用 GetInitialWebParts 第一个区域的方法返回的集合的一部分,因为它在该区域中声明。 但在运行时,当 WebPartManager 控件加载个性化设置数据时, User1 实际上显示在用户拖动它的第二个区域中。