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

WebPartCollection,包含區域樣板中所包含的所有 WebPart 或其他伺服器控制項。

備註

方法 GetInitialWebParts 提供抽象基底 GetInitialWebParts 方法的實作。 基底方法不會提供實作,但會宣告 方法,讓衍生類別可以自訂它們如何取得屬於區域的初始控制項集,而不需要將個人化變更納入考慮。

針對區域中找到的每個伺服器控制項, CreateWebPart 會呼叫 方法。 如果控制項直接繼承自 WebPart 類別,則只會將它新增至區域的 WebParts 集合 (,以及控制項的 WebPartManager 類似集合) 。 如果控制項未直接繼承自 WebPart ,則Web 組件控制項集會將控制項包裝成 GenericWebPart 物件,讓控制項在執行時間做為 WebPart 控制項。

如果Web 組件頁面標記中 <zonetemplate> 以靜態方式宣告的任何) ,則 WebPartZone 類別會傳回控制項集 (,藉此實作基底方法。 PlaceHolder如果在區域中宣告控制項,則會加入該控制項的子控制項,而不是控制項本身。 例如,此實作可讓您在主版頁面中建立 WebPartZone 區域,然後在內容頁面中宣告個別 WebPart 或伺服器控制項。 如果您在區域中宣告 Literal 控制項 WebPartZone ,則會忽略它們。

注意

在進行個人化之後,方法所 GetInitialWebParts 傳回之控制項的初始集合可能與區域中控制項的實際執行時間集合不同。 例如,假設您有一個具有兩 WebPartZone 個控制項的網頁,而第一個控制項包含名為 User1 的使用者控制項,該控制項會在標記內 <zonetemplate> 以靜態方式宣告。 如果使用者載入頁面並拖曳 User1 到第二個區域,則 User1 仍然是呼叫 GetInitialWebParts 第一個區域的 方法傳回的集合的一部分,因為它是在該區域中宣告的。 但在執行時間,當 WebPartManager 控制項載入個人化資料時, User1 實際上會出現在使用者拖曳它的第二個區域中。

適用於

另請參閱