【问题标题】: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;

【问题讨论】:

    标签: asp.net checkboxlist


    【解决方案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 数组,其中包含被选中复选框的索引。

      【讨论】:

        猜你喜欢
        • 2019-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多