2011-11-10 7 views
0

패널을 tablecell 안에 넣고 너비와 높이 속성을 100 %으로 설정하면 패널에서 tablecell의 100 % 공간을 차지하지만 그럴 때 패널이 사라집니다. 패널 너비 및 높이 속성을 100px으로 설정 한 경우에만 그 때만 표시됩니다. 그래서 내가 가지고있는 테이블 셀을 항상 100 % 차지하도록 패널을 설정할 수 있습니까? 왜 테이블 셀 안의 패널에서는 100 %가 작동하지 않습니까?

이 예에서 패널은 표시되지 않습니다 :

<asp:Table runat="server" ID="mainTable" Width="100%" Height="100%" BorderColor="Red" BorderWidth="20px" BorderStyle="Solid"> 
    <asp:TableRow runat="server" ID="mainRow" Width="100%" Height="100%" BorderColor="Purple" BorderWidth="20px" BorderStyle="Solid"> 
     <asp:TableCell runat="server" ID="maincell" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="mainpanel" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
     <asp:TableCell runat="server" ID="TableCell1" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="Panel1" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
     <asp:TableCell runat="server" ID="TableCell2" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="Panel2" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
    </asp:TableRow> 
</asp:table> 

나는 셀 내부에 패널을 넣어 나중에 그 안에 컨트롤을 데려 가고 싶다는 때문이다.

답변

0

기본적으로 픽셀 단위 (기본값)로 단위 유형을 지정해야합니다. 마크 업에서 지정하는 방법을 찾을 수 없어 정말 도움이되지 않습니다. aspnet table - specify TableCell width?

그들은 대신 CSS를 사용하는 것이 좋습니다 :

이 문제는 유사한 문제가 있습니다.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.width.aspx#Y0

webControl.width = Unit.Percentage (100)는 ASP하지 않는 I로 이것을 넣어 할 위치를 다시 확인하지 작동합니다.

0

이것은 브라우저의 결함/최적화 때문인 것 같습니다. 웹 페이지는 올바른 html로 렌더링되지만 브라우저가 페이지를 렌더링하면 빈 div를 건너 뛰거나 제거합니다. 그래서 divnbsp와 같은 div 중 하나에 내용을 삽입하면 브라우저는 div를 올바르게 렌더링합니다. 테이블 셀, IE7 및 FF에 style="empty-cells: show" 퍼팅

0

올바르게 렌더링하지만, IE9에서은 CSS에서 배경 색을 주위

 <asp:TableCell runat="server" ID="maincell" Width="30%" Height="100%" BorderColor="AliceBlue" 
      BorderWidth="20px" BorderStyle="Solid" style="empty-cells: show"> 
      <asp:Panel runat="server" ID="mainpanel" Width="100%" Height="100%" BackColor="Gainsboro"> 
      </asp:Panel> 
     </asp:TableCell> 

놀이 공간이 아닌를 가지고 각 브라우저에 맞는 스타일을 설정한다. 그것이 얼마나 피곤한가. :/

관련 문제