Изменить ширину панели asp.net на основе списка флажков? - PullRequest
0 голосов
/ 05 мая 2010

У меня есть панель asp.net, которая содержит флажок. Я хотел бы изменить его размер так, чтобы его ширина вписывалась в содержимое списка.

Сейчас я обрабатываю событие предварительной визуализации панели, устанавливая ее ширину, соответствующую ширине контрольного списка. Однако кажется, что свойство ширины контрольного списка имеет нулевое значение (по крайней мере, в этом методе предварительного рендеринга), поэтому ширина панели устанавливается одинаково, что приводит к непоследовательному рендерингу в Firefox и IE. У кого-нибудь есть лучший подход к тому, что я пытаюсь сделать здесь? Большое спасибо.

1 Ответ

0 голосов
/ 06 мая 2010

Вы можете установить загрузку ширины панели для JavaScript:

<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>
...