WebPartManager.CopyWebPart(WebPart) Metodo

Definizione

Utilizzato dall'insieme di controlli Web part per creare una copia di un controllo WebPart o di un controllo server per aggiungere il controllo a una pagina 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

Parametri

webPart
WebPart

Controllo WebPart o controllo server da copiare.

Restituisce

WebPart

Controllo WebPart da aggiungere a una pagina.

Commenti

Non è possibile chiamare il CopyWebPart metodo direttamente dal codice. Questo metodo viene chiamato internamente dal WebPartManager controllo come parte del processo di aggiunta di un nuovo controllo dinamico WebPart o server a una pagina. Un controllo dinamico viene aggiunto a una pagina a livello di codice o tramite l'interfaccia utente Web part, ad esempio da un utente che aggiunge un controllo da un catalogo di controlli, anziché a un controllo statico, dichiarato direttamente nel markup di una pagina.

Nota

Il metodo può essere sottoposto a override in una classe derivata se gli sviluppatori vogliono abilitare il metodo per gestire scenari di copia di controlli aggiuntivi. Per informazioni dettagliate, vedere la sezione Note per ereditatori.

Quando viene aggiunto un nuovo controllo dinamico, se è un WebPart controllo, il CopyWebPart metodo restituisce una nuova istanza del controllo. Se il controllo aggiunto è un altro tipo di controllo server (ad esempio un controllo utente, un controllo personalizzato o un controllo ASP.NET), il controllo sarà già stato eseguito con un GenericWebPart oggetto dal set di controlli Web part. Quando il CopyWebPart metodo rileva un GenericWebPart controllo, restituisce una nuova istanza del controllo con una nuova istanza del GenericWebPart controllo figlio sottoposta a wrapping.

Quando il CopyWebPart metodo crea una nuova copia di un controllo da restituire, reimposta anche i valori di tutte le proprietà nei valori predefiniti. Si noti che, se si desidera mantenere i valori delle proprietà personalizzabili e averli copiati nella nuova istanza del controllo, è necessario chiamare anche il CopyPersonalizationState metodo. Il passaggio finale eseguito dal metodo consiste nel CopyWebPart chiamare il CreateDynamicWebPartID metodo per ottenere un nuovo ID per il controllo.

Nota

Poiché il metodo ottiene un nuovo ID per un controllo copiato, non è consigliabile fare riferimento a un controllo dinamico aggiunto a una pagina in base all'ID originale. È invece necessario fare riferimento alla nuova istanza del controllo restituito dal metodo .

Note per gli eredi

Il metodo viene dichiarato in virtual modo che gli sviluppatori possano ereditare dalla classe, eseguire l'override WebPartManager del metodo e fornire scenari aggiuntivi in cui potrebbe creare copie di controlli. Ad esempio, il metodo potrebbe ricevere facoltativamente come input un controllo serializzato in un file XML. Il metodo potrebbe deserializzare il codice XML (se presente) e quindi chiamare il metodo di base per gestire i casi esistenti e restituire una nuova istanza di un WebPart controllo.

Si applica a

Vedi anche