다음을 통해 공유


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>

해결 방법(주의 섹션에 설명됨)이 작동하는 방식을 확인하려면 페이지에 선언을 height 유지하면서 DOCTYPE 요소에 특성을 <asp:webpartzone> 추가해 보세요. 다음 코드를 사용하여 태그에 특성을 추가할 수 있습니다.

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 경우 영역 또는 포함된 컨트롤의 높이를 명시적으로 설정하지 않습니다. 컨트롤이 영역의 전체 높이를 채우도록 하려면 세로 방향 영역에서 영역 또는 컨트롤의 높이를 설정합니다.

적용 대상

추가 정보