Partilhar via


WebPartManager.CopyWebPart(WebPart) Método

Definição

Usado pelo conjunto de controles de Web Parts para criar uma cópia de um WebPart ou controle de servidor com a finalidade de adicionar o controle a uma página da 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

Parâmetros

webPart
WebPart

O WebPart ou controle de servidor a ser copiado.

Retornos

Um WebPart a ser adicionado a uma página.

Comentários

Você não pode chamar o CopyWebPart método diretamente do seu código. Esse método é chamado internamente pelo WebPartManager controle como parte do processo de adição de um novo controle dinâmico WebPart ou de servidor a uma página. Um controle dinâmico é adicionado a uma página programaticamente ou por meio da interface do usuário de Web Parts, por exemplo, por um usuário adicionando um controle de um catálogo de controles, em vez de um controle estático, que é declarado diretamente na marcação de uma página.

Observação

O método pode ser substituído em uma classe derivada se os desenvolvedores quiserem habilitar o método para lidar com cenários de cópia de controle adicionais. Para obter detalhes, consulte a seção Anotações aos Herdadores.

Quando um novo controle dinâmico é adicionado, se for um WebPart controle, o CopyWebPart método retornará uma nova instância do controle. Se o controle que está sendo adicionado for algum outro tipo de controle de servidor (como um controle de usuário, um controle personalizado ou um controle ASP.NET), o controle já terá sido encapsulado com um GenericWebPart objeto pelo conjunto de controle de Web Parts. Quando o CopyWebPart método encontra um GenericWebPart controle, ele retorna uma nova instância do GenericWebPart controle com uma nova instância do controle filho encapsulada dentro dele.

Quando o CopyWebPart método cria uma nova cópia de um controle a ser retornado, ele também redefine os valores de todas as propriedades para seus valores padrão. Observe que, se você quiser preservar os valores das propriedades personalizáveis e copiá-los para a nova instância de controle, chame o CopyPersonalizationState método também. A etapa final executada pelo CopyWebPart método é chamar o CreateDynamicWebPartID método para obter uma nova ID para o controle.

Observação

Como o método obtém uma nova ID para um controle copiado, você não deve confiar em referenciar um controle dinâmico que é adicionado a uma página por sua ID original. Em vez disso, você deve referenciar a nova instância do controle retornado pelo método .

Notas aos Herdeiros

O método é declarado como virtual para que os desenvolvedores possam herdar da WebPartManager classe , substituir o método e fornecer cenários adicionais nos quais ele poderia criar cópias de controles. Por exemplo, o método poderia, opcionalmente, receber como entrada um controle que foi serializado em um arquivo XML. O método poderia desserializar o XML (se presente) e, em seguida, chamar o método base para lidar com os casos existentes e retornar uma nova instância de um WebPart controle.

Aplica-se a

Confira também