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, указывающий высоту 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 значение, и вы не задаете явно высоту зоны или содержащихся элементов управления. Чтобы включить элементы управления для заполнения полной высоты зоны, задайте высоту зоны или элементов управления в вертикально ориентированной зоне.