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 A 包含區域模板中所有WebPart或其他伺服器控制項。
備註
此 GetInitialWebParts 方法實作了抽象基底 GetInitialWebParts 方法。 基礎方法不提供實作,但宣告該方法,讓衍生類別能自訂如何取得屬於某區域的初始控制項,且不考慮個人化變更。
對於區域內的每個伺服器控制項,都會呼叫該 CreateWebPart 方法。 如果控制是直接從 WebPart 該類別繼承,則會直接加入該區域 WebParts 的集合(以及控制的相似集合 WebPartManager )。 若控制項未直接繼承自 WebPart,Web Parts 控制集會以物件包裹該控制項 GenericWebPart ,使該控制項在執行時能作為 WebPart 控制項行為。
該 WebPartZone 類別透過回傳在 Web Parts 頁面標記中靜態宣告 <zonetemplate> 的標籤集合(如有控制項)來實作基礎方法。 若在區域中宣告控制 PlaceHolder ,則會新增該控制的子控制,而非控制本身。 此實作允許你在主頁面建立 WebPartZone 區域,然後在內容頁面宣告個別 WebPart 或伺服器控制。 如果你在某Literal個區域宣告WebPartZone控制,它們會被忽略。
Note
方法回傳 GetInitialWebParts 的初始控制集合可能與個人化後區域內實際執行時控制集合不同。 舉例來說,假設你有一個網頁有兩個WebPartZone控制項,第一個控制項包含在標籤中靜態宣告User1的使用者控制項<zonetemplate>。 如果使用者載入頁面並拖 User1 入第二個區域, User1 則仍屬於集合,呼叫第一個區域的方法會回傳 GetInitialWebParts ,因為該區域已宣告。 但在執行時,當 WebPartManager 控制項載入個人化資料時, User1 實際上會出現在使用者拖曳的第二個區域。