WebPart.Height 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置区域的高度。
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 的默认类型是像素。
- 属性
示例
下面的代码示例演示了影响控件高度的WebPartWebPartZone呈现问题。 若要演示此问题,必须在 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此情况时发生。 从<asp:webpartzone>
元素中删除现有LayoutOrientation
特性及其值,这将导致区域的方向恢复为默认垂直方向。 将元素的高度 <asp:webpartzone>
属性设置为 200 像素,如上所示,并运行页面。 区域的高度看起来太大,并且控件的大小与区域的高度不成比例。 现在,请删除高度属性,然后再次运行页面。 控件现在呈现相对于区域高度。
注解
Internet Explorer 呈现模式可能会影响控件的高度 WebPart 和包含控件的区域的高度。 Internet Explorer 以兼容模式呈现网页 (与以前的浏览器版本) 或标准模式 (由页面) 中存在 DOCTYPE
声明确定的标准模式。 有关这些模式的信息,请参阅 DHTML compatMode 属性。
当 Internet Explorer 以标准模式呈现页面时,在某些情况下,它可能不会重设表格中的单元格大小,即使单元格的 HTML 标记是 <td height="100%">
这样。 因此, WebPart 控件及其包含区域呈现,以便控件不会拉伸到区域的完整高度。
当 Internet Explorer 处于标准模式时,控件在以下情况下不会呈现为拉伸到其完整高度:
当区域 LayoutOrientation 的属性设置为 Vertical 并且你显式设置该区域的高度时。 若要使控件能够填充区域的完整高度,请不要指定水平方向区域的高度。
当区域 LayoutOrientation 的属性设置为 Horizontal 且未显式设置区域或包含控件的高度时。 若要使控件能够填充区域的完整高度,请设置区域的高度或垂直方向区域中的控件的高度。