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

属性

示例

下面的代码示例演示影响控件高度的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时发生。 从元素中删除现有 LayoutOrientation 属性及其值 <asp:webpartzone> ,这将导致区域的方向恢复为默认垂直方向。 将元素的高度 <asp:webpartzone> 属性设置为 200 像素,如上所示,并运行页面。 区域的高度看起来太大,并且控件不按比例调整到区域的高度。 现在,请删除高度属性,然后再次运行页面。 控件现在相对于区域的高度呈现。

注解

Internet Explorer呈现模式可能会影响 WebPart 控件的高度以及包含它的区域的高度。 Internet Explorer以兼容模式(与以前的浏览器版本向后兼容)或标准模式(由页面中存在 DOCTYPE 声明确定)呈现网页。 有关这些模式的信息,请参阅 DHTML compatMode 属性。

当Internet Explorer以标准模式呈现页面时,在某些情况下,它可能不会调整表格中的单元格的大小,即使单元格的 HTML 标记<td height="100%">也是如此。 因此, WebPart 控件及其包含区域呈现,以便控件不会拉伸到区域的完整高度。

当Internet Explorer处于标准模式时,控件不会在以下情况下呈现为拉伸到其完整高度:

  • 当区域 LayoutOrientation 的属性设置为 Vertical 并且你显式设置区域的高度时。 若要使控件能够填充区域的完整高度,请不要指定水平方向区域的高度。

  • 当区域 LayoutOrientation 的属性设置为 Horizontal 且未显式设置区域或包含控件的高度时。 若要使控件能够填充区域的完整高度,请设置区域的高度或垂直方向区域中的控件的高度。

适用于

另请参阅