次の方法で共有


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

注釈

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

注意

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

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

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

注意

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

注意 (継承者)

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

適用対象

こちらもご覧ください