WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.