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 プロパティで示されるピクセルです。

属性

次のコード例は、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 コントロールの両方が、明示的に宣言されたゾーンの高さを埋めるように拡張されます。

また、このコード例を試して、ゾーンの LayoutOrientationVerticalに設定されている場合に発生する、高さに関連するレンダリングの問題を観察することもできます。 LayoutOrientation要素から既存の<asp:webpartzone>属性とその値を削除します。これにより、ゾーンの向きが既定の垂直方向に戻ります。 上記のように、 <asp:webpartzone> 要素の height 属性を 200 ピクセルに設定し、ページを実行します。 ゾーンの高さが大きすぎるように見え、コントロールのサイズはゾーンの高さに比例しません。 ここで height 属性を削除し、ページをもう一度実行します。 コントロールがゾーンの高さを基準にしてレンダリングされるようになりました。

注釈

Internet Explorerレンダリング モードは、WebPart コントロールの高さと、コントロールを含むゾーンの高さに影響を与える可能性があります。 Internet Explorerは、Web ページを互換モード (以前のブラウザー バージョンと下位互換性あり) または標準モード (ページ内に DOCTYPE 宣言が存在することによって決定されます) でレンダリングします。 これらのモードの詳細については、DHTML compatMode プロパティを参照してください。

Internet Explorer標準モードでページをレンダリングする場合、状況によっては、セルの HTML マークアップが <td height="100%">であっても、テーブル内のセルのサイズが変更されないことがあります。 その結果、 WebPart コントロールとその包含ゾーンがレンダリングされ、コントロールがゾーンの高さ全体に拡大されないようにします。

Internet Explorerが標準モードの場合、次の場合、コントロールは完全な高さに伸ばすようにレンダリングされません。

  • ゾーンの LayoutOrientation プロパティが Vertical に設定されていて、ゾーンの高さを明示的に設定する場合。 コントロールがゾーンの高さ全体を塗りつぶせるようにするには、水平方向のゾーンの高さを指定しないでください。

  • ゾーンの LayoutOrientation プロパティが Horizontal に設定されていて、ゾーンまたは含まれているコントロールの高さを明示的に設定しない場合。 コントロールがゾーンの高さを完全に満たせるようにするには、ゾーンの高さまたは垂直方向のゾーン内のコントロールの高さを設定します。

適用対象

こちらもご覧ください