2010-05-05 2 views
0

체크 박스 목록이 포함 된 asp.net 패널이 있습니다. 그 너비가 목록의 내용에 꼭 맞도록 크기를 조정하고 싶습니다.체크 박스 목록을 기반으로 asp.net 패널 너비의 크기를 조정 하시겠습니까?

지금은 패널의 사전 렌더링 이벤트를 처리하고 있습니다. 확인란의 너비와 일치하도록 너비를 설정하고 있습니다. 그러나 체크 박스 목록의 너비 속성이 0 (적어도이 미리 렌더링 방법에서는)이므로 패널의 너비가 동일하게 설정되어 Firefox와 IE에서 일관성없는 렌더링이 발생합니다. 누구든지 내가 여기서 시도하고있는 일을하는 데 더 나은 접근법을 가지고 있습니까? 많은 감사합니다.

답변

0

당신은 자바 스크립트 당 패널 폭 온로드를 설정할 수 있습니다 : 도움에 대한

<script> 
function resizePanel() { 
      var panel = document.getElementById('Panel1'); 
      var checkBox = document.getElementById('CheckBoxList1') 
      if (panel != null && checkBox != null) 
       panel.style.width = checkBox.offsetWidth + "px"; 
} 
</script> 
</head> 
<body onload="resizePanel()"> 
    <form id="form1" runat="server"> 
    <asp:Panel ID="Panel1" runat="server" BorderWidth="1" BorderColor="Silver"> 
    <asp:CheckBoxList ID="CheckBoxList1" Width="200px" runat="server"> 
    <asp:ListItem Text="Item 1" Value="1"></asp:ListItem> 
    <asp:ListItem Text="Item 2" Value="2"></asp:ListItem> 
    <asp:ListItem Text="Item 3" Value="3"></asp:ListItem> 
    <asp:ListItem Text="Item 4" Value="4"></asp:ListItem> 
    <asp:ListItem Text="Item 5" Value="5"></asp:ListItem> 
    <asp:ListItem Text="Item 6" Value="6"></asp:ListItem> 
    <asp:ListItem Text="Item 7" Value="7"></asp:ListItem> 
    </asp:CheckBoxList> 
    </asp:Panel> 
    </form> 
</body> 
</html> 
+0

감사합니다. 이것은 나를 위해 일하고 있는데, offsetWidth가 25 픽셀보다 크다는 것을 확인해야한다. 그렇지 않으면 체크 박스 목록에 데이터가 없을 때 offsetwidth가 0이었고 어떤 이유로 든 내 패널이 IE와 Firefox에서 전체 화면을 차지했습니다. – larryq

관련 문제