【发布时间】:2011-03-30 01:08:48
【问题描述】:
我想知道检查 CheckBoxList 控件是否有任何选中项的最快/最简单方法,我说的是整个复选框列表,而不是单个复选框。
【问题讨论】:
标签: asp.net checkboxlist
我想知道检查 CheckBoxList 控件是否有任何选中项的最快/最简单方法,我说的是整个复选框列表,而不是单个复选框。
【问题讨论】:
标签: asp.net checkboxlist
Linq 扩展方法很简洁,但你也可以只检查 SelectedIndex:
bool isAnySelected = CheckBoxList1.SelectedIndex != -1;
如果没有检查,SelectedIndex 为 -1。
【讨论】:
这个应该有帮助:
bool isAnySelected = checkBoxList.Items.Any(i => i.Selected);
.Any 是一种 Linq 扩展方法,因此您需要在代码隐藏中使用 System.Linq 或 .System.Linq.Extensions 引用(不记得是哪个)。
【讨论】:
对于在选定答案 5 年后来到这里的任何人,项目集合是不可枚举的,因此 .Any(...) 将不起作用。但是,您可以执行以下操作:
If cblCheckboxList.Items.Cast(Of ListItem).Any(Function(x) x.Selected) then...
【讨论】:
选择的答案很好,但现在您可以通过添加 OfType 函数来简单地修改代码。检查以下内容:
bool isAnySelected = checkBoxList.Items.OfType<ListItem>().Any(i =>
i.Selected);
我希望这会有所帮助。
【讨论】: