WebPartManager.CopyWebPart(WebPart) メソッド

定義

Web ページに WebPart コントロールまたはサーバー コントロールを追加するためにこうしたコントロールのコピーを作成する場合に、Web パーツ コントロール セットで使用されます。

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

ページに追加される WebPart

注釈

コードからメソッドを CopyWebPart 直接呼び出すことはできません。 このメソッドは、新しい動的WebPartコントロールまたはサーバー コントロールをWebPartManagerページに追加するプロセスの一環として、コントロールによって内部的に呼び出されます。 動的コントロールは、プログラムによって、または Web パーツ ユーザー インターフェイス (UI) を介してページに追加されます。たとえば、ユーザーがコントロールのカタログからコントロールを追加した場合、静的コントロールとは対照的です。静的コントロールは、ページのマークアップで直接宣言されます。

注意

開発者が追加のコントロール コピー シナリオを処理するメソッドを有効にする場合は、派生クラスでメソッドをオーバーライドできます。 詳細については、「継承者へのメモ」セクションを参照してください。

新しい動的コントロールが追加されると、それがコントロールの WebPart 場合、 CopyWebPart メソッドはコントロールの新しいインスタンスを返します。 追加するコントロールが他の種類のサーバー コントロール (ユーザー コントロール、カスタム コントロール、ASP.NET コントロールなど) の場合、コントロールは既に Web パーツ コントロール セットによってオブジェクトでGenericWebPartラップされています。 メソッドは、コントロールをCopyWebPartGenericWebPart検出すると、その中にラップされた子コントロールのGenericWebPart新しいインスタンスを持つコントロールの新しいインスタンスを返します。

メソッドが CopyWebPart 返すコントロールの新しいコピーを作成すると、すべてのプロパティの値も既定値にリセットされます。 カスタマイズ可能なプロパティの値を保持し、新しいコントロール インスタンスにコピーする場合は、メソッドも呼び出 CopyPersonalizationState す必要があることに注意してください。 メソッドによって実行される最後の CopyWebPart 手順は、メソッドを CreateDynamicWebPartID 呼び出して、コントロールの新しい ID を取得することです。

注意

このメソッドはコピーしたコントロールの新しい ID を取得するため、元の ID によってページに追加される動的コントロールの参照に依存しないでください。 代わりに、メソッドによって返されるコントロールの新しいインスタンスを参照する必要があります。

注意 (継承者)

このメソッドは、開発者がクラスから継承し、メソッドをWebPartManagerオーバーライドし、コントロールのコピーを作成できる追加のシナリオを提供できるように宣言virtualされています。 たとえば、メソッドは必要に応じて、XML ファイルにシリアル化されたコントロールを入力として受け取る場合があります。 メソッドは XML を逆シリアル化し (存在する場合)、基本メソッドを呼び出して既存のケースを処理し、コントロールの新しいインスタンスを WebPart 返す可能性があります。

適用対象

こちらもご覧ください