我有一个包含复选框列表的asp.net面板。我想调整它的大小,使其宽度适合列表的内容。
现在我正在处理面板的预渲染事件,将其宽度设置为与复选框列表的宽度相匹配。然而,看起来checkboxlist的width属性读取为零(至少在此预渲染方法中),因此面板的宽度设置相同,这导致Firefox与IE中的渲染不一致。有没有人有更好的方法去做我在这里尝试的事情?非常感谢。
答案 0 :(得分:0)
您可以按javascript设置面板宽度onload:
<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>