我想知道检查CheckBoxList控件是否有任何已检查项目的最快/最简单的方法,我说的是整个复选框列表,而不是一个复选框。
答案 0 :(得分:14)
Linq扩展方法很简洁,但您也可以检查SelectedIndex:
bool isAnySelected = CheckBoxList1.SelectedIndex != -1;
如果未选中任何内容,则SelectedIndex为-1。
答案 1 :(得分:7)
这个应该有所帮助:
bool isAnySelected = checkBoxList.Items.Any(i => i.Selected);
.Any
是Linq扩展方法,因此您需要在代码隐藏中使用System.Linq
或.System.Linq.Extensions
引用(不记得是哪个)。
答案 2 :(得分:2)
对于在所选答案之后5年来到这里的任何人,Items集合不可枚举,因此.Any(...)
将无效。但是,您可以执行以下操作:
If cblCheckboxList.Items.Cast(Of ListItem).Any(Function(x) x.Selected) then...
答案 3 :(得分:1)
选择的答案很棒,但现在您只需添加 OfType 功能即可修改代码。检查以下内容:
bool isAnySelected = checkBoxList.Items.OfType<ListItem>().Any(i =>
i.Selected);
我希望这会有所帮助。