Partager via


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é

Unit

Objet Unit indiquant la hauteur de WebPartZone. Le type par défaut de Unit est pixels, comme l'indique la propriété Type.

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 au sein de celle-ci ne sont pas définies explicitement. Le résultat est que dans le , le WebPartZonecontrôle plus WebPart court n’s’étend pas à 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 rend 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 explicitement déclarée de la zone.

Vous pouvez également tester 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îne l’orientation de la zone à rétablir 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

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

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

Quand Internet Explorer est en mode standard, les contrôles ne s’étendent pas à leur hauteur complète 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 complète 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