Ответ 1
Это невозможно без использования css, потому что CheckBoxList не является фактическим в HTML. Он отображает как table
ваши флажки и метки в разных ячейках.
Однако ListBox отображает как элемент HTML select
, который поддерживает свойство размера, которое устанавливает количество строк для отображения перед показом полос прокрутки.
Проблема заключается в том, что ASP.NET отсылает эти различия к тому, как вы справляетесь с ними на сервере с помощью своих элементов управления. Как вы обнаружили, это может привести к запутывающим результатам, когда они отображаются в браузере, если вы не знакомы с HTML, который они создают.