在ASP.NET的CheckboxList中如何勾选多个选项?

9
我会尽力帮助您翻译,以下是您需要翻译的内容:

我想在ASP.NET CheckboxList中检查多个值,但是我无法实现。
我已经写了:

chkApplications.SelectedValue = 2;
chkApplications.SelectedValue = 6;

但是它只选择了值为“6”的项目
有什么问题吗?

4个回答

22

最适合你的技巧是以下方法:

chkApplications.Items.FindByValue("2").Selected = true;
chkApplications.Items.FindByValue("6").Selected = true;

或者你可以简单地像这样做...

  foreach (ListItem item in chkApplications.Items)
    {
        if (item.Value == "2" || item.Value == "6")
        {
            item.Selected = true;
        }
    }

2
如果未找到值,它将抛出异常。每次调用 FindByValue 都需要完整遍历集合。 - Magnus

5
foreach (var item in cb.Items.Cast<ListItem>()
        .Where (li => li.Value == "2" || li.Value == "6"))
   item.Selected = true;

5

您可以将值放入列表中 (MyList), 然后使用 FindByValue 进行检查。

foreach (var item in MyList)
{
    checkBoxList.Items.FindByValue(item.id).Selected = true;
}

-1

不要尝试通过 chkApplications.SelectedValue 选择项目,而是尝试使用以下代码:

chkApplications.Items.Item(2).Selected = True chkApplications.Items.Item(6).Selected = True

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接