如何在asp.net中查找复选框列表是不是被选中
Posted
技术标签:
【中文标题】如何在asp.net中查找复选框列表是不是被选中【英文标题】:how to find if the check box list is selected or not in asp.net如何在asp.net中查找复选框列表是否被选中 【发布时间】:2011-12-22 00:37:10 【问题描述】:如何在 asp.net 的复选框列表中获取选定的索引。我应该循环查找是否选择了列表框,或者我可以不这样做就知道。我想做这个
if(选中复选框列表) 做这个 别的 这样做
如何在asp.net中查找复选框列表是否被选中
int roleselected = ckl_EditRole.Items.SelectedIndex;
【问题讨论】:
【参考方案1】:对于 CheckBoxList,SelectedIndex
将只为您提供 CheckBoxList 中的第一个选定索引。如果它不是-1,则选择了某些东西。这可能足以满足您的需求。
if( ckl_EditRole.SelectedIndex != -1 )
// Do Something
但是,由于 CheckBoxList 可以有多个选择,因此您可能希望遍历 Items 并查找选定的项。
foreach( ListItem li in ckl_EditRole.Items )
if( li.Selected )
// Do Something
【讨论】:
【参考方案2】:如果您的意图是获取代码给出的选定复选框的索引,您也可以通过 Linq(不带 forloop)实现此目的,如下所示。
ckl_EditRoleItems.OfType<ListItem>().Where(p=>p.Selected).Select(p => ckl_EditRoleItems.Items.IndexOf(p)).ToArray<int>();
此语句将返回一个 int 数组,其中包含被选中复选框的索引。
【讨论】:
以上是关于如何在asp.net中查找复选框列表是不是被选中的主要内容,如果未能解决你的问题,请参考以下文章