Udostępnij za pośrednictwem


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

Unit Obiekt wskazujący wysokość obiektu WebPartZone. Domyślnym typem elementu Unit jest piksel, co wskazuje Type właściwość.

Atrybuty

Przykłady

Poniższy przykład kodu przedstawia problem z renderowaniem, który wpływa na wysokość WebPart kontrolek w obiekcie WebPartZone. Aby zademonstrować ten problem, należy uruchomić stronę w programie Internet Explorer.

Należy pamiętać, że orientacja strefy jest ustawiona na poziomą, a wysokość strefy i kontrolek w niej nie jest jawnie ustawiona. Wynikiem jest to, że w elemecie 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ż eksperymentować 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 Vertical. 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

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

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

Gdy program 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ść strefy. 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 LayoutOrientation jest ustawiona na Horizontal i nie ustawisz 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ż