WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Méthode

Définition

Génère le rendu de la zone de contenu principale d'un contrôle WebPart, à l'exclusion de l'en-tête et du pied de page.

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)

Paramètres

writer
HtmlTextWriter

HtmlTextWriter qui reçoit le contenu webPart.

webPart
WebPart

Contrôle actuellement en cours de présentation.

Exemples

L’exemple de code suivant illustre l’utilisation de la RenderPartContents méthode . Pour obtenir le code complet requis pour exécuter l’exemple, consultez la section Exemple de la rubrique Vue d’ensemble de la WebPartChrome classe.

La section suivante de l’exemple de code montre comment remplacer la RenderPartContents méthode. La méthode remplacée effectue deux opérations pour personnaliser le rendu du corps du WebPart contrôle. Tout d’abord, il vérifie si le contrôle est actuellement sélectionné et, si c’est le cas, écrit une chaîne et ne rend pas le contenu. Deuxièmement, si le contrôle n’est pas sélectionné et si la zone du contrôle est de type MyZone, la méthode restitue le contrôle. Cette dernière vérification peut être utilisée si vous souhaitez vous assurer qu’une classe personnalisée WebPartChrome ne peut être utilisée que pour afficher WebPart des contrôles dans un type de WebPartZone zone spécifique conçu pour contenir l’objet WebPartChrome .

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 vous chargez la page Web dans un navigateur, vous pouvez voir que le contenu de chaque contrôle est affiché normalement. Si vous basculez la page en mode création (en sélectionnant Création dans le contrôle de liste déroulante Mode d’affichage ) et faites glisser l’un des contrôles dans la zone vide intitulée WebPartZone2, le contenu du contrôle est affiché différemment, car l’objet personnalisé WebPartChrome n’est pas utilisé pour le rendu dans une zone standard. Il s’agit du même effet que celui que vous obtiendriez si vous essayiez d’utiliser la classe personnalisée WebPartChrome avec n’importe quelle autre zone en dehors de la MyZone classe, en raison du code source précédent.

Remarques

La RenderPartContents méthode vous permet de remplacer le rendu de la zone de corps de webPart, tout en laissant le rendu de l’en-tête et du pied de page au rendu par défaut.

Notes pour les héritiers

Vous pouvez éventuellement remplacer la RenderPartContents(HtmlTextWriter, WebPart) méthode. Si c’est le cas, vous pouvez simplement effectuer les personnalisations de rendu souhaitées pour webPart, puis appeler sa RenderControl(HtmlTextWriter) méthode. Si vous souhaitez également vous fier au rendu par défaut en cas d’erreurs de connexion, appelez d’abord la méthode de base, puis personnalisez le writer qui est retourné à partir de la méthode de base.

S’applique à

Voir aussi