Język

WebPart.Height Właściwość

Definicja

Pobiera lub ustawia wysokość strefy.

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

Wartość właściwości

Unit Obiekt wskazujący wysokość WebPartZoneobiektu . Domyślnym typem obiektu Unit są piksele wskazane przez Type właściwość .

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano problem z renderowaniem, który wpływa na wysokość WebPart kontrolek w obiekcie WebPartZone. Aby zademonstrować ten problem, musisz uruchomić stronę w Internet Explorer.

Należy pamiętać, że orientacja strefy jest ustawiona na poziomą, a wysokość strefy i kontrolek w niej nie jest ustawiana jawnie. Wynikiem jest to, że w kontrolce WebPartZone, krótsza WebPart kontrolka nie rozciąga się na wysokość strefy podczas renderowania. Jeśli jednak usuniesz deklarację DOCTYPE ze strony i ponownie uruchomisz stronę, problem nie wystąpi, ponieważ teraz przeglądarka nie będzie renderować strony w trybie standardów.

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

Aby zobaczyć, jak działa obejście (opisane w sekcji Uwagi), spróbuj dodać height atrybut do <asp:webpartzone> elementu, zachowując deklarację DOCTYPE na stronie. Możesz użyć następującego kodu, aby dodać atrybut do tagu:

Height="200px"

Uruchom stronę, a teraz oba WebPart kontrolki rozciągają się, aby wypełnić jawnie zadeklarowaną wysokość strefy.

Możesz również poeksperymentować z tym przykładem kodu, aby zaobserwować problem z renderowaniem związany z wysokością w innym scenariuszu, który występuje, gdy strefa jest ustawiona LayoutOrientation na Verticalwartość . Usuń istniejący LayoutOrientation atrybut i jego wartość z <asp:webpartzone> elementu, co spowoduje przywrócenie domyślnej orientacji pionowej strefy. Ustaw atrybut height elementu na <asp:webpartzone> 200 pikseli, tak jak powyżej, i uruchom stronę. Wysokość strefy wygląda zbyt duży, a kontrolki nie mają proporcjonalnego rozmiaru do wysokości strefy. Teraz usuń atrybut height i ponownie uruchom stronę. Kontrolki są teraz renderowane względem wysokości strefy.

Uwagi

Internet Explorer tryby renderowania mogą mieć wpływ na wysokość kontrolki WebPart i wysokość strefy, która ją zawiera. Internet Explorer renderuje strony sieci Web w trybie zgodności (z poprzednimi wersjami przeglądarki) lub w trybie standardów (określanym przez obecność deklaracji DOCTYPE na stronie). Aby uzyskać informacje o tych trybach, zobacz właściwość DHTML compatMode .

Gdy Internet Explorer renderuje stronę w trybie standardów, w niektórych okolicznościach może nie zmieniać rozmiaru komórek w tabelach, nawet jeśli znacznik HTML komórki jest <td height="100%">. W związku z tym kontrolki i ich strefa zawierająca są renderowane tak WebPart , aby kontrolki nie rozciągały się na pełną wysokość strefy.

Gdy Internet Explorer jest w trybie standardowym, kontrolki nie są renderowane w celu rozciągnięcia do pełnej wysokości w następujących przypadkach:

  • Gdy właściwość strefy jest ustawiona LayoutOrientation na Vertical i jawnie ustawisz wysokość w strefie. Aby umożliwić kontrolkom wypełnienie pełnej wysokości strefy, nie należy określać wysokości strefy zorientowanej poziomo.

  • Gdy właściwość strefy jest ustawiona LayoutOrientation na Horizontal i nie ustawiasz jawnie wysokości strefy lub zawartych kontrolek. Aby umożliwić kontrolkom wypełnienie pełnej wysokości strefy, ustaw wysokość strefy lub kontrolek w strefie zorientowanej pionowo.

Dotyczy

Zobacz też