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 的默认类型是像素。

属性

示例

下面的代码示例演示了影响控件高度的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 且未显式设置区域或包含控件的高度时。 若要使控件能够填充区域的完整高度,请设置区域的高度或垂直方向区域中的控件的高度。

适用于

另请参阅