WebPart.Height Eigenschaft

Definition

Ruft die Höhe einer Zone ab oder legt diese 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

Unit

Ein Unit-Objekt, das die Höhe einer WebPartZone angibt. Der Standardtyp einer Unit ist Pixel, wie von der Type-Eigenschaft angegeben.

Attribute

Beispiele

Im folgenden Codebeispiel wird das Renderingproblem veranschaulicht, das sich auf die Höhe von WebPart Steuerelementen in einem Steuerelement WebPartZoneauswirkt. 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 die Darin enthaltenen Steuerelemente nicht explizit festgelegt werden. Das Ergebnis ist, dass sich das kürzere Steuerelement beim WebPartZoneRendern WebPart nicht auf die Höhe der Zone erstreckt. Wenn Sie die DOCTYPE Deklaration jedoch aus der Seite entfernen und die Seite erneut ausführen, tritt das Problem nicht auf, da der Browser jetzt 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") 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 dem Tag das Attribut 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 der Höhe zusammenhängende Rendering im anderen Szenario zu beobachten, das auftritt, wenn die Zone LayoutOrientation auf Verticalfestgelegt ist. Entfernen Sie das vorhandene LayoutOrientation Attribut und seinen 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 auf 200 Pixel fest, wie sie oben ausgeführt wurden, 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 die Anwesenheit 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 lautet <td height="100%">. 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 die volle Höhe in den folgenden Fällen zu strecken:

  • Wenn die LayoutOrientation Eigenschaft einer Zone auf festgelegt Vertical ist und Sie die Höhe der Zone explizit festlegen. Um Steuerelementen die vollständige Höhe der Zone zu ermöglichen, geben Sie nicht die Höhe einer horizontal ausgerichteten Zone an.

  • Wenn die LayoutOrientation Eigenschaft einer Zone auf festgelegt Horizontal 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

Siehe auch