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 所指出。

屬性

範例

下列程式碼範例示範會影響 中 WebPartZone 控制項高度的 WebPart 轉譯問題。 若要示範此問題,您必須在 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> height 屬性設定為 200 圖元,如同您在上面所做的一樣,並執行頁面。 區域的高度看起來太大,而且控制項不會依比例調整為區域的高度。 現在請移除 height 屬性,然後再次執行頁面。 控制項現在會呈現相對於區域的高度。

備註

Internet Explorer 轉譯模式可能會影響控制項的高度 WebPart ,以及包含控制項的區域高度。 Internet Explorer 會轉譯相容性模式中的網頁, (與舊版瀏覽器版本回溯相容) ,或在標準模式中轉譯網頁) 中存在 DOCTYPE 宣告所決定 (。 如需這些模式的相關資訊,請參閱 DHTML compatMode 屬性。

當 Internet Explorer 以標準模式轉譯頁面時,在某些情況下,它可能不會調整表格中的資料格大小,即使儲存格的 HTML 標籤為 <td height="100%"> 也一般。 因此, WebPart 控制項及其包含區域會轉譯,讓控制項不會延展到區域的完整高度。

當 Internet Explorer 處於標準模式時,控制項不會在下列情況下轉譯為延展到其完整高度:

  • 當區域的 LayoutOrientation 屬性設定為 Vertical ,且您明確設定區域的高度時。 若要讓控制項填滿區域的完整高度,請勿指定水準導向區域的高度。

  • 當區域的 LayoutOrientation 屬性設定為 Horizontal ,而且您未明確設定區域或包含控制項的高度時。 若要讓控制項填滿區域的完整高度,請在垂直導向區域中設定區域或控制項的高度。

適用於

另請參閱