我想知道检查 CheckBoxList 控件是否有任何选中项的最快/最简单的方法,我说的是整个复选框列表,而不是单个复选框。
问问题
15678 次
4 回答
19
Linq 扩展方法很简洁,但您也可以只检查 SelectedIndex:
bool isAnySelected = CheckBoxList1.SelectedIndex != -1;
如果未选中任何内容,则 SelectedIndex 为 -1。
于 2011-08-01T15:27:39.927 回答
7
这个应该有帮助:
bool isAnySelected = checkBoxList.Items.Any(i => i.Selected);
.Any
是一种 Linq 扩展方法,因此您需要在代码隐藏中使用System.Linq
or.System.Linq.Extensions
引用(不记得是哪个)。
于 2010-08-15T09:42:13.270 回答
2
选择的答案很好,但现在您可以通过添加OfType函数来简单地修改代码。检查以下内容:
bool isAnySelected = checkBoxList.Items.OfType<ListItem>().Any(i =>
i.Selected);
我希望这有帮助。
于 2017-12-13T09:39:31.483 回答
2
对于在选定答案 5 年后来到这里的任何人,Items 集合是不可枚举的,因此.Any(...)
将不起作用。但是,您可以执行以下操作:
If cblCheckboxList.Items.Cast(Of ListItem).Any(Function(x) x.Selected) then...
于 2017-06-19T14:23:22.383 回答