語言

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高度的物件。 a 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 宣告決定)。 關於這些模式的資訊,請參閱 DHTML compatMode 屬性。

當Internet Explorer以標準模式渲染頁面時,在某些情況下,即使某個儲存格的 HTML 標記為 <td height="100%">,也可能無法調整表格中的儲存格大小。 因此, WebPart 控制區及其包含區域的渲染方式不會拉伸到區域的最高高度。

當 Internet Explorer 處於標準模式時,控制項在以下情況下不會被渲染至最高高度:

  • 當區域 LayoutOrientation 的屬性設定為 , Vertical 且你明確設定了區域的高度時, 為了讓控制區能填滿整個區域的高度,請不要指定水平方向區域的高度。

  • 當區域 LayoutOrientation 屬性設定為 , Horizontal 且你沒有明確設定區域或控制區的高度時, 要讓控制裝置填滿區域的全部高度,請設定區域或垂直方向區域控制裝置的高度。

適用於

另請參閱