Я хотел бы узнать самый быстрый/самый простой способ проверить, имеет ли элемент управления CheckBoxList какие-либо отмеченные элементы или нет, я говорю о целом списке флажков в целом, а не о каком-либо флажке.
Проверка наличия в CheckBoxList выбранных значений
Ответ 1
Это должно помочь:
bool isAnySelected = checkBoxList.Items.Any(i => i.Selected);
.Any
- это метод расширения Linq, поэтому вам понадобится ссылка System.Linq
или .System.Linq.Extensions
(не помню, какая именно) в вашем коде.
Ответ 2
Метод расширения Linq является опрятным, но вы также можете просто проверить SelectedIndex:
bool isAnySelected = CheckBoxList1.SelectedIndex != -1;
Если ничего не отмечено, значение SelectedIndex равно -1.
Ответ 3
Для тех, кто приходит сюда через 5 лет после выбранного ответа, коллекция Items не перечислима, поэтому .Any(...)
не будет работать. Однако вы можете сделать следующее:
If cblCheckboxList.Items.Cast(Of ListItem).Any(Function(x) x.Selected) then...
Ответ 4
Выбранный ответ велик, но теперь вы можете просто изменить код, добавив функцию OfType. проверьте следующее:
bool isAnySelected = checkBoxList.Items.OfType<ListItem>().Any(i =>
i.Selected);
Надеюсь, это поможет.