次の方法で共有


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 の既定の型はピクセルです。

属性

次のコード例は、コントロールの高さに影響するレンダリングの 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>

回避策 (「解説」セクションで説明) がどのように動作するかを確認するには、宣言をページに保持しながら、要素に<asp:webpartzone>属性をDOCTYPE追加heightしてみてください。 次のコードを使用して、タグに属性を追加できます。

Height="200px"

ページを実行し、両方 WebPart のコントロールが明示的に宣言されたゾーンの高さを埋めるように拡張します。

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

注釈

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

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

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

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

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

適用対象

こちらもご覧ください