Compartilhar via


WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Método

Definição

Renderiza a área de conteúdo principal de um controle de WebPart, excluindo o cabeçalho e o rodapé.

protected:
 virtual void RenderPartContents(System::Web::UI::HtmlTextWriter ^ writer, System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
protected virtual void RenderPartContents (System.Web.UI.HtmlTextWriter writer, System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member RenderPartContents : System.Web.UI.HtmlTextWriter * System.Web.UI.WebControls.WebParts.WebPart -> unit
override this.RenderPartContents : System.Web.UI.HtmlTextWriter * System.Web.UI.WebControls.WebParts.WebPart -> unit
Protected Overridable Sub RenderPartContents (writer As HtmlTextWriter, webPart As WebPart)

Parâmetros

writer
HtmlTextWriter

O HtmlTextWriter que recebe o conteúdo webPart.

webPart
WebPart

O controle que está sendo renderizado no momento.

Exemplos

O exemplo de código a seguir demonstra o uso do RenderPartContents método . Para obter o código completo necessário para executar o exemplo, consulte a seção Exemplo do tópico de visão geral da WebPartChrome classe.

A seção a seguir do exemplo de código demonstra como substituir o RenderPartContents método . O método substituído faz duas coisas para personalizar a renderização para o corpo do WebPart controle. Primeiro, ele verifica se o controle está selecionado no momento e, em caso afirmativo, grava uma cadeia de caracteres e não renderiza o conteúdo. Segundo, se o controle não estiver selecionado e se a zona do controle for do tipo MyZone, o método renderizará o controle. Esta última verificação poderia ser usada se você quisesse garantir que uma classe personalizada WebPartChrome só pode ser usada para renderizar WebPart controles em um tipo específico de WebPartZone zona projetado para conter o WebPartChrome objeto.

protected override void RenderPartContents(HtmlTextWriter writer, 
  WebPart part)
{

    if (part == this.WebPartManager.SelectedWebPart)
      HttpContext.Current.Response.Write("<span>Not rendered</span>");
    else
      if(this.Zone.GetType() == typeof(MyZone))
        part.RenderControl(writer);
}
Protected Overrides Sub RenderPartContents _
  (ByVal writer As HtmlTextWriter, ByVal part As WebPart)

  If part Is Me.WebPartManager.SelectedWebPart Then
    HttpContext.Current.Response.Write("<span>Not rendered</span>")
  Else
    If (Me.Zone.GetType() Is GetType(MyZone)) Then
      part.RenderControl(writer)
    End If
  End If

End Sub

Se você carregar a página da Web em um navegador, poderá ver que o conteúdo de cada controle é renderizado normalmente. Se você alternar a página para o modo de design (selecionando Design no controle de lista suspensa Modo de Exibição ) e arrastar um dos controles para a zona vazia rotulada WebPartZone2, o conteúdo do controle será renderizado de forma diferente, pois o objeto personalizado WebPartChrome não está sendo usado para a renderização em uma zona padrão. Esse é o mesmo efeito que você alcançaria se tentasse usar a classe personalizada WebPartChrome com qualquer outra zona além da MyZone classe, devido ao código-fonte anterior.

Comentários

O RenderPartContents método permite substituir a renderização da área do corpo de webPart, deixando a renderização do cabeçalho e do rodapé para a renderização padrão.

Notas aos Herdeiros

Opcionalmente, você pode substituir o RenderPartContents(HtmlTextWriter, WebPart) método . Nesse caso, você pode simplesmente executar todas as personalizações de renderização desejadas para e, em webPartseguida, chamar seu RenderControl(HtmlTextWriter) método. Se você também quiser contar com a renderização padrão em caso de erros de conexão, chame o método base primeiro e personalize o writer retornado do método base.

Aplica-se a

Confira também