WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Método

Definição

Renderiza a área principal de conteúdo de um WebPart controlo, 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 webPart conteúdo.

webPart
WebPart

O controlo atualmente a ser renderizado.

Exemplos

O seguinte exemplo de código demonstra a utilização do RenderPartContents método. Para o código completo necessário para executar o exemplo, consulte a secção Exemplo do WebPartChrome tópico de visão geral da aula.

A secção seguinte do exemplo de código demonstra como sobrescrever o RenderPartContents método. O método overridden faz duas coisas para personalizar a renderização do corpo do WebPart controlo. Primeiro, verifica se o controlo está atualmente selecionado e, em caso afirmativo, escreve uma cadeia e não renderiza o conteúdo. Segundo, se o controlo não for selecionado, e se a zona do controlo for do tipo MyZone, o método renderiza o controlo. Esta última verificação pode ser usada se quiser garantir que uma classe personalizada WebPartChrome só pode ser usada para renderizar WebPart controlos num tipo específico de WebPartZone zona concebida 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 carregar a página Web num navegador, pode ver que o conteúdo de cada controlo é renderizado normalmente. Se mudar a página para o modo de design (selecionando Design no controlo de lista suspensa do Modo de Exibição ) e arrastar um dos controlos para a zona vazia rotulada WebPartZone2, o conteúdo do controlo é renderizado de forma diferente, porque o objeto personalizado WebPartChrome não está a ser usado para a renderização numa zona padrão. Este é o mesmo efeito que conseguirias se tentasses usar a classe personalizada WebPartChrome com qualquer outra zona que não a MyZone classe, devido ao código-fonte anterior.

Observações

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

Notas para Herdeiros

Podes, opcionalmente, anular o RenderPartContents(HtmlTextWriter, WebPart) método. Se sim, podes simplesmente fazer as personalizações de renderização que quiseres para webPart, e depois chamar o seu RenderControl(HtmlTextWriter) método. Se também quiseres confiar na renderização padrão em caso de erros de ligação, chama primeiro o método base e depois personaliza o writer que é devolvido pelo método base.

Aplica-se a

Ver também