Condividi tramite


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

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 delle web part, ad esempio tramite un utente che aggiunge un controllo da un catalogo di controlli, anziché 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 si tratta di un WebPart controllo, il CopyWebPart metodo restituisce una nuova istanza del controllo. Se il controllo da aggiungere è un altro tipo di controllo server, ad esempio un controllo utente, un controllo personalizzato o un controllo ASP.NET, il controllo sarà già stato sottoposto a wrapping con un GenericWebPart oggetto dal set di controlli Web part. Quando il CopyWebPart metodo rileva un GenericWebPart controllo, restituisce una nuova istanza del GenericWebPart controllo con una nuova istanza del controllo figlio di cui è stato eseguito il wrapping.

Quando il CopyWebPart metodo crea una nuova copia di un controllo da restituire, reimposta anche i valori di tutte le proprietà sui valori predefiniti. Si noti che, se si desidera mantenere i valori delle proprietà personalizzabili e copiarli 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 come virtual in modo che gli sviluppatori possano ereditare dalla WebPartManager classe , eseguire l'override del metodo e fornire scenari aggiuntivi in cui potrebbe creare copie dei 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 case esistenti e restituire una nuova istanza di un WebPart controllo.

Si applica a

Vedi anche