WebPart.Height Eigenschaft

Definition

Ruft die Höhe einer Zone ab oder legt sie fest.

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

Eigenschaftswert

Ein Unit Objekt, das die Höhe eines .WebPartZone Der Standardtyp eines Pixels Unit ist, wie durch die Type Eigenschaft angegeben.

Attribute

Beispiele

Im folgenden Codebeispiel wird das Renderingproblem veranschaulicht, das sich auf die Höhe von WebPart Steuerelementen in einem WebPartZoneSteuerelement auswirkt. Um dieses Problem zu veranschaulichen, müssen Sie die Seite in Internet Explorer ausführen.

Beachten Sie, dass die Ausrichtung der Zone auf horizontal festgelegt ist und dass die Höhe der Zone und der darin enthaltenen Steuerelemente nicht explizit festgelegt ist. Das Ergebnis ist, dass WebPartZonesich das kürzere WebPart Steuerelement beim Rendern nicht auf die Höhe der Zone erstreckt. Wenn Sie die DOCTYPE Deklaration jedoch von der Seite entfernen und die Seite erneut ausführen, tritt das Problem nicht auf, da nun der Browser die Seite nicht im Standardmodus rendert.

<%@ 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>

Um zu sehen, wie die Problemumgehung (im Abschnitt "Hinweise" beschrieben) funktioniert, versuchen Sie, dem <asp:webpartzone> Element ein height Attribut hinzuzufügen, während die DOCTYPE Deklaration auf der Seite beibehalten wird. Sie können den folgenden Code verwenden, um das Attribut dem Tag hinzuzufügen:

Height="200px"

Führen Sie die Seite aus, und jetzt werden beide WebPart Steuerelemente gestreckt, um die explizit deklarierte Höhe der Zone auszufüllen.

Sie können auch mit diesem Codebeispiel experimentieren, um das Problem mit dem hochbezogenen Rendering im anderen Szenario zu beobachten, das auftritt, wenn die Zone LayoutOrientation auf Vertical". Entfernen Sie das vorhandene LayoutOrientation Attribut und dessen Wert aus dem <asp:webpartzone> Element, wodurch die Ausrichtung der Zone auf die vertikale Standardausrichtung zurückgesetzt wird. Legen Sie das Height-Attribut für das <asp:webpartzone> Element wie oben auf 200 Pixel fest, und führen Sie die Seite aus. Die Höhe der Zone sieht zu groß aus, und die Steuerelemente werden nicht proportional zur Höhe der Zone angepasst. Entfernen Sie nun das Height-Attribut, und führen Sie die Seite erneut aus. Die Steuerelemente werden nun relativ zur Höhe der Zone gerendert.

Hinweise

Internet Explorer Renderingmodi können sich auf die Höhe eines WebPart-Steuerelements und die Höhe der Zone auswirken, die sie enthält. Internet Explorer rendert Webseiten entweder im Kompatibilitätsmodus (abwärtskompatibel mit früheren Browserversionen) oder im Standardsmodus (bestimmt durch das Vorhandensein einer DOCTYPE-Deklaration auf der Seite). Informationen zu diesen Modi finden Sie in der DHTML compatMode-Eigenschaft .

Wenn Internet Explorer eine Seite im Standardmodus rendert, kann die Größe von Zellen in Tabellen möglicherweise nicht geändert werden, auch wenn das HTML-Markup einer Zelle <td height="100%"> ist. Daher werden Steuerelemente und deren enthaltende Zone gerendert, WebPart sodass die Steuerelemente nicht auf die volle Höhe der Zone gestreckt werden.

Wenn sich Internet Explorer im Standardmodus befindet, werden Steuerelemente nicht gerendert, um in den folgenden Fällen auf ihre volle Höhe zu dehnen:

  • Wenn die LayoutOrientation Eigenschaft einer Zone auf Vertical die Höhe der Zone festgelegt ist und Sie die Höhe der Zone explizit festlegen. Damit Steuerelemente die volle Höhe der Zone ausfüllen können, geben Sie nicht die Höhe einer horizontal ausgerichteten Zone an.

  • Wenn die LayoutOrientation Eigenschaft einer Zone auf Horizontal festgelegt ist und Sie die Höhe der Zone oder der enthaltenen Steuerelemente nicht explizit festlegen. Damit Steuerelemente die volle Höhe der Zone ausfüllen können, legen Sie die Höhe der Zone oder der Steuerelemente in einer vertikal ausgerichteten Zone fest.

Gilt für:

Weitere Informationen