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 控件。
如果網頁元件頁面標記中<zonetemplate>
以靜態方式宣告的任何) ,類別會WebPartZone傳回控件集 (,藉此實作基底方法。
PlaceHolder如果在區域中宣告控件,則會加入該控件的子控件,而不是控件本身。 例如,此實作可讓您在主版頁面中建立 WebPartZone 區域,然後在內容頁面中宣告個別 WebPart 或伺服器控件。 如果您在區域中宣告 Literal 控制件 WebPartZone ,則會忽略它們。
注意
在進行個人化之後,方法所 GetInitialWebParts 傳回之控件的初始集合可能與區域中控件的實際運行時間集合不同。 例如,假設您有一個具有兩 WebPartZone 個控件的網頁,而第一個控件包含名為 User1
的使用者控件,該控件會在標記內 <zonetemplate>
以靜態方式宣告。 如果使用者載入頁面並拖曳 User1
到第二個區域,則 User1
仍然是呼叫 GetInitialWebParts 第一個區域的方法傳回的集合的一部分,因為它是在該區域中宣告的。 但在運行時間,當 WebPartManager 控件載入個人化數據時, User1
實際上會出現在使用者拖曳它的第二個區域中。