WebPart.Height Свойство

Определение

Получает или задает высоту зоны.

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

Значение свойства

Unit

Объект Unit, указывающий высоту WebPartZone. Типом по умолчанию для Unit являются пиксели, как указано в свойстве Type.

Атрибуты

Примеры

В следующем примере кода показана проблема отрисовки, которая влияет на высоту WebPart элементов управления в .WebPartZone Чтобы продемонстрировать эту проблему, необходимо запустить страницу в Internet Explorer.

Обратите внимание, что ориентация зоны имеет горизонтальное значение, а высота зоны и элементы управления в ней не заданы явным образом. Результатом является то, что в элементе WebPartZoneуправления более короткий WebPart элемент управления не простирается до высоты зоны при отрисовке. Однако если удалить DOCTYPE объявление со страницы и снова запустить страницу, проблема не возникает, так как теперь браузер не будет отображать страницу в режиме стандартов.

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

Чтобы узнать, как работает обходное решение (описано в разделе примечаний), попробуйте добавить height атрибут в <asp:webpartzone> элемент, сохранив DOCTYPE объявление на странице. Для добавления атрибута в тег можно использовать следующий код:

Height="200px"

Запустите страницу, и теперь оба WebPart элемента управления растянуты, чтобы заполнить явно объявленную высоту зоны.

Вы также можете поэкспериментировать с этим примером кода, чтобы наблюдать за проблемой отрисовки, связанной с высотой, в другом сценарии, которая возникает, когда для зоны LayoutOrientation задано значение Vertical. Удалите существующий LayoutOrientation атрибут и его значение из <asp:webpartzone> элемента, что приведет к возврату ориентации зоны к вертикальной ориентации по умолчанию. Присвойте атрибуту высоты элемента <asp:webpartzone> значение 200 пикселей, как и выше, и запустите страницу. Высота зоны выглядит слишком большой, и элементы управления не имеют размер пропорционально высоте зоны. Теперь удалите атрибут высоты и снова запустите страницу. Теперь элементы управления отображаются относительно высоты зоны.

Комментарии

Режимы отрисовки Internet Explorer могут повлиять на высоту WebPart элемента управления и высоту зоны, содержащей ее. Internet Explorer отображает веб-страницы в режиме совместимости (обратно совместимом с предыдущими версиями браузера) или в режиме стандартов (определяется наличием DOCTYPE объявления на странице). Сведения об этих режимах см. в описании свойства compatMode DHTML.

Когда Internet Explorer отображает страницу в режиме стандартов, в некоторых случаях размер ячеек в таблицах может не изменяться <td height="100%">, даже если html-разметка ячейки. В результате элементы управления и их содержащие зоны отображаются таким образом, WebPart чтобы элементы управления не простирались до полной высоты зоны.

Если Internet Explorer находится в стандартном режиме, элементы управления не отображаются для растягивания до полной высоты в следующих случаях:

  • Если для свойства зоны LayoutOrientation задано Vertical значение и вы явно задали высоту в зоне. Чтобы включить элементы управления для заполнения полной высоты зоны, не указывайте высоту горизонтально ориентированной зоны.

  • Если для свойства зоны LayoutOrientation задано Horizontal значение, и вы не задаете явно высоту зоны или содержащихся элементов управления. Чтобы включить элементы управления для заполнения полной высоты зоны, задайте высоту зоны или элементов управления в вертикально ориентированной зоне.

Применяется к

См. также раздел