共用方式為


WebPartManager.CopyWebPart(WebPart) 方法

定義

為了將控制項加入至網頁,由 Web 組件控制集用來建立 WebPart 或伺服器控制項的複本。

protected:
 virtual System::Web::UI::WebControls::WebParts::WebPart ^ CopyWebPart(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
protected virtual System.Web.UI.WebControls.WebParts.WebPart CopyWebPart (System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member CopyWebPart : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.WebPart
override this.CopyWebPart : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.WebPart
Protected Overridable Function CopyWebPart (webPart As WebPart) As WebPart

參數

webPart
WebPart

要複製的 WebPart 或伺服器控制項。

傳回

要加入至頁面的 WebPart

備註

您無法直接從程式代碼呼叫 CopyWebPart 方法。 這個方法會在控件內部呼叫 WebPartManager ,做為將新的動態 WebPart 或伺服器控件新增至頁面的程式之一部分。 動態控件會以程式設計方式或透過網頁元件使用者介面 (UI) 新增控件,例如使用者從控件目錄新增控件,而不是直接在頁面標記中宣告的靜態控件。

注意

如果開發人員想要讓 方法處理其他控件複製案例,則可以在衍生類別中覆寫方法。 如需詳細資訊,請參閱一節。

加入新的動態控制項時,如果它是 WebPart 控件,此方法會 CopyWebPart 傳回控件的新實例。 如果新增的控件是一些其他類型的伺服器控制項 (,例如使用者控件、自定義控件或 ASP.NET 控件) ,控制項已經由 Web 元件控制項集以 物件包裝 GenericWebPartCopyWebPart當方法遇到 GenericWebPart 控件時,它會傳回控件的新實例GenericWebPart,其中包裝了子控件的新實例。

CopyWebPart當方法建立要傳回之控件的新複本時,它也會將所有屬性的值重設為預設值。 請注意,如果您想要保留可個人化屬性的值,並將其複製到新的控件實例,您也應該呼叫 CopyPersonalizationState 方法。 方法執行 CopyWebPart 的最後一個步驟是呼叫 CreateDynamicWebPartID 方法,以取得控件的新標識碼。

注意

因為方法會取得複製控件的新標識符,所以您不應該依賴參考依原始標識元新增至頁面的動態控件。 相反地,您應該參考 方法所傳回之控件的新實例。

給繼承者的注意事項

方法會宣告為 virtual ,讓開發人員可以繼承自 WebPartManager 類別、覆寫 方法,並提供可建立控件複本的其他案例。 例如,方法可以選擇性地接收做為已串行化為 XML 檔案的控件輸入。 如果存在 xml) ,方法可以還原串行化 XML (,然後呼叫基底方法來處理現有的案例,並傳回控件的新實例 WebPart

適用於

另請參閱