WebPartManager.CopyWebPart(WebPart) メソッド

定義

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

Note

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

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

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

Note

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

注意 (継承者)

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

適用対象

こちらもご覧ください