2011-11-04 103 views
3

如何在asp.net中的复选框列表中获取选定的索引。我是否应该循环查找列表框是否被选中,或者我可以在不这样做的情况下知道。我想这样做如何查找是否在asp.net中选中复选框列表

如果(CheckBoxList的选择) {做到这一点} 其他 {做到这一点}

如何,如果选中该复选框列表或不在asp.net找到

int roleselected = ckl_EditRole.Items.SelectedIndex; 

回答

3

对于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 
    } 
} 
0

如果你的目的是让尽可能通过你的代码给选定的复选框的指标,也可以通过LINQ的下面实现这一点(没有for循环)。

ckl_EditRoleItems.OfType<ListItem>().Where(p=>p.Selected).Select(p => ckl_EditRoleItems.Items.IndexOf(p)).ToArray<int>(); 

该语句将返回一个int数组,其中包含所选复选框的索引。

相关问题