检查CheckBoxList是否具有任何选定的值

时间:2010-08-15 09:30:33

标签: asp.net checkboxlist

我想知道检查CheckBoxList控件是否有任何已检查项目的最快/最简单的方法,我说的是整个复选框列表,而不是一个复选框。

4 个答案:

答案 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);

我希望这会有所帮助。