Compartir vía


WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Método

Definición

Procesa el área de contenido principal de un control WebPart, excepto el encabezado y el pie de página.

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

Objeto HtmlTextWriter que recibe el contenido de webPart.

webPart
WebPart

Control que se representa actualmente.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del RenderPartContents método . Para obtener el código completo necesario para ejecutar el ejemplo, vea la sección Ejemplo del tema de información general de la WebPartChrome clase.

En la sección siguiente del ejemplo de código se muestra cómo invalidar el RenderPartContents método . El método invalidado hace dos cosas para personalizar la representación del cuerpo del WebPart control. En primer lugar, comprueba si el control está seleccionado actualmente y, si es así, escribe una cadena y no representa el contenido. En segundo lugar, si el control no está seleccionado y si la zona del control es de tipo MyZone, el método representa el control. Esta última comprobación podría usarse si desea asegurarse de que una clase personalizada WebPartChrome solo se puede usar para representar WebPart controles en un tipo específico de WebPartZone zona diseñado para contener el 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

Si carga la página web en un explorador, puede ver que el contenido de cada control se representa normalmente. Si cambia la página al modo de diseño (seleccionando Diseño en el control de lista desplegable Modo de presentación) y arrastra uno de los controles a la zona vacía etiquetada WebPartZone2, el contenido del control se representa de forma diferente, porque el objeto personalizado WebPartChrome no se usa para la representación en una zona estándar. Este es el mismo efecto que lograría si intentó usar la clase personalizada WebPartChrome con cualquier otra zona además de la MyZone clase, debido al código fuente anterior.

Comentarios

El RenderPartContents método permite invalidar la representación del área del cuerpo de webPart, mientras deja la representación del encabezado y pie de página en la representación predeterminada.

Notas a los desarrolladores de herederos

Opcionalmente, puede invalidar el RenderPartContents(HtmlTextWriter, WebPart) método . Si es así, simplemente puede realizar las personalizaciones de representación que desee para webParty, a continuación, llamar a su RenderControl(HtmlTextWriter) método. Si también quiere confiar en la representación predeterminada en caso de errores de conexión, llame primero al método base y, a continuación, personalice el writer que se devuelve desde el método base.

Se aplica a

Consulte también