Langue

WebPart.Height Propriété

Définition

Obtient ou définit la hauteur d’une zone.

public:
 virtual property System::Web::UI::WebControls::Unit Height { System::Web::UI::WebControls::Unit get(); void set(System::Web::UI::WebControls::Unit value); };
[System.Web.UI.WebControls.WebParts.Personalizable]
public override System.Web.UI.WebControls.Unit Height { get; set; }
[<System.Web.UI.WebControls.WebParts.Personalizable>]
member this.Height : System.Web.UI.WebControls.Unit with get, set
Public Overrides Property Height As Unit

Valeur de propriété

Objet Unit qui indique la hauteur d’un WebPartZone. Le type par défaut d’un Unit pixel, comme indiqué par la Type propriété.

Attributs

Exemples

L’exemple de code suivant illustre le problème de rendu qui affecte la hauteur des WebPart contrôles dans un WebPartZone. Pour illustrer ce problème, vous devez exécuter la page dans Internet Explorer.

Notez que l’orientation de la zone est définie sur horizontale et que la hauteur de la zone et les contrôles qu’elle contient ne sont pas définies explicitement. Le résultat est que dans le WebPartZone, le contrôle plus WebPart court n’est pas étiré à la hauteur de la zone lors du rendu. Toutefois, si vous supprimez la DOCTYPE déclaration de la page et réexécutez la page, le problème ne se produit pas, car le navigateur ne restitue pas la page en mode standard.

<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  protected void Button1_Click(object sender, EventArgs e)
  {
    wpmgr.DisplayMode = WebPartManager.DesignDisplayMode;
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
    wpmgr.DisplayMode = WebPartManager.BrowseDisplayMode;
  }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="wpmgr" runat="server" />
      <asp:webpartzone id="WebPartZone1" runat="server" 
        layoutorientation="horizontal">
        <zonetemplate>
          <asp:textbox id="TextBox1" runat="server" title="Text input">
          </asp:textbox>
          <asp:calendar id="Calendar1" runat="server" title="Personal Calendar" />
        </zonetemplate>
      </asp:webpartzone>
      <asp:button id="Button1" runat="server" text="Design Mode" 
        onclick="Button1_Click" />
      <br />
      <asp:button id="Button2" runat="server" onclick="Button2_Click" 
        text="Browse Mode" />
    </form>
</body>
</html>
<%@ Page Language="VB"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    wpmgr.DisplayMode = WebPartManager.DesignDisplayMode
    
  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    wpmgr.DisplayMode = WebPartManager.BrowseDisplayMode
    
  End Sub
  
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="wpmgr" runat="server" />
      <asp:webpartzone id="WebPartZone1" runat="server" 
        layoutorientation="horizontal">
        <zonetemplate>
          <asp:textbox id="TextBox1" runat="server" title="Text input">
          </asp:textbox>
          <asp:calendar id="Calendar1" runat="server" title="Personal Calendar" />
        </zonetemplate>
      </asp:webpartzone>
      <asp:button id="Button1" runat="server" text="Design Mode" 
        onclick="Button1_Click" />
      <br />
      <asp:button id="Button2" runat="server" onclick="Button2_Click" 
        text="Browse Mode" />
    </form>
</body>
</html>

Pour voir comment fonctionne la solution de contournement (décrite dans la section Remarques), essayez d’ajouter un height attribut à l’élément <asp:webpartzone> , tout en conservant la DOCTYPE déclaration dans la page. Vous pouvez utiliser le code suivant pour ajouter l’attribut à la balise :

Height="200px"

Exécutez la page et les deux WebPart contrôles s’étendent pour remplir la hauteur déclarée explicitement de la zone.

Vous pouvez également expérimenter cet exemple de code pour observer le problème de rendu lié à la hauteur dans l’autre LayoutOrientation scénario, qui se produit lorsque la zone est définie Verticalsur . Supprimez l’attribut existant LayoutOrientation et sa valeur de l’élément <asp:webpartzone> , ce qui entraînera l’orientation de la zone pour revenir à l’orientation verticale par défaut. Définissez l’attribut height sur l’élément <asp:webpartzone> sur 200 pixels, comme vous l’avez fait ci-dessus, puis exécutez la page. La hauteur de la zone semble trop grande et les contrôles ne sont pas dimensionnés proportionnellement à la hauteur de la zone. Supprimez maintenant l’attribut height et réexécutez la page. Les contrôles s’affichent maintenant par rapport à la hauteur de la zone.

Remarques

Internet Explorer modes de rendu peuvent affecter la hauteur d’un contrôle WebPart et la hauteur de la zone qui le contient. Internet Explorer affiche les pages Web en mode de compatibilité (rétrocompatible avec les versions antérieures du navigateur) ou en mode standard (déterminée par la présence d’une déclaration DOCTYPE dans la page). Pour plus d’informations sur ces modes, consultez la propriété DHTML compatMode .

Lorsque Internet Explorer affiche une page en mode standard, dans certaines circonstances, il peut ne pas redimensionner les cellules dans les tableaux, même quand le balisage HTML d'une cellule est <td height="100%">. Par conséquent, WebPart les contrôles et leur zone conteneur sont rendus afin que les contrôles ne s’étendent pas à la hauteur totale de la zone.

Lorsque Internet Explorer est en mode standard, les contrôles ne s’affichent pas pour s’étendre à leur hauteur totale dans les cas suivants :

  • Quand la propriété d’une LayoutOrientation zone est définie Vertical et que vous définissez explicitement la hauteur sur la zone. Pour permettre aux contrôles de remplir la hauteur totale de la zone, ne spécifiez pas la hauteur d’une zone orientée horizontalement.

  • Quand la propriété d’une LayoutOrientation zone est définie Horizontal et que vous ne définissez pas explicitement la hauteur de la zone ou des contrôles contenus. Pour permettre aux contrôles de remplir la hauteur complète de la zone, définissez la hauteur de la zone ou des contrôles dans une zone orientée verticalement.

S’applique à

Voir aussi