Die CopyWebPart-Methode kann nicht direkt aus dem Code aufgerufen werden. Diese Methode wird intern vom WebPartManager-Steuerelement als Teil des Prozesses des Hinzufügens eines neuen dynamischen WebPart-Steuerelements oder Serversteuerelements zu einer Seite aufgerufen. Ein dynamisches Steuerelement wird einer Seite programmgesteuert oder über die Webparts-Benutzeroberfläche hinzugefügt, z. B. durch einen Benutzer, der ein Steuerelement aus einem Katalog von Steuerelementen hinzufügt. Im Gegensatz dazu wird ein statisches Steuerelement direkt im Markup einer Seite deklariert.
Hinweis |
|---|
Die Methode kann in einer abgeleiteten Klasse überschrieben werden, wenn Entwickler mithilfe der Methode zusätzliche Szenarios zum Kopieren von Steuerelementen behandeln möchten. Einzelheiten hierzu finden Sie im Abschnitt mit den Hinweisen zur Vererbung. |
Wenn es sich bei einem neu hinzugefügten dynamischen Steuerelement um ein WebPart-Steuerelement handelt, gibt die CopyWebPart-Methode eine neue Instanz des Steuerelements zurück. Wenn das hinzugefügte Steuerelement einem anderen Typ von Serversteuerelementen angehört (z. B. ein Benutzersteuerelement, ein benutzerdefiniertes Steuerelement oder ein ASP.NET-Steuerelement), ist das Steuerelement bereits durch den Webparts-Steuerelementsatz mit einem GenericWebPart-Objekt umschlossen. Wenn die CopyWebPart-Methode ein GenericWebPart-Steuerelement findet, gibt sie eine neue Instanz des GenericWebPart-Steuerelements mit einer neuen Instanz des in diesem umschlossenen untergeordneten Steuerelements zurück.
Wenn die CopyWebPart-Methode eine neue Kopie eines zurückzugebenden Steuerelements erstellt, setzt sie außerdem die Werte aller Eigenschaften auf die Standardwerte zurück. Wenn Sie die Werte von personalisierbaren Eigenschaften beibehalten und in die neue Instanz des Steuerelements kopieren möchten, müssen Sie auch die CopyPersonalizationState-Methode aufrufen. Der letzte von der CopyWebPart-Methode ausgeführte Schritt ist der Aufruf der CreateDynamicWebPartID-Methode, um eine neue ID für das Steuerelement abzurufen.
Hinweis |
|---|
Da die Methode eine neue ID für ein kopiertes Steuerelement abruft, dürfen Sie sich nicht auf den Verweis auf ein dynamisches Steuerelement verlassen, das einer Seite anhand seiner ursprünglichen ID hinzugefügt wurde. Stattdessen müssen Sie auf die neue Instanz des Steuerelements verweisen, die von der Methode zurückgegeben wurde. |
Hinweise zur VererbungDie Methode wird als virtual deklariert, damit Entwickler von der WebPartManager-Klasse erben, die Methode überschreiben und zusätzliche Szenarios bereitstellen können, in denen die Methode Kopien von Steuerelementen erstellen kann. Die Methode kann beispielsweise optional ein in eine XML-Datei serialisiertes Steuerelement als Eingabe empfangen. Die Methode kann die XML-Datei (falls vorhanden) deserialisieren und dann die Basismethode aufrufen, um die vorhandenen Fälle zu behandeln und eine neue Instanz eines WebPart-Steuerelements zurückzugeben.