检查ASP.NET CheckboxList中的多个项目

Sha*_*hin 9 c# asp.net checkboxlist

我尝试检查ASP.NET CheckboxList中的多个值,但我不能.
我写 :

chkApplications.SelectedValue = 2;
chkApplications.SelectedValue = 6;
Run Code Online (Sandbox Code Playgroud)

但它只选择值为'6'的项目有
什么问题?

Muh*_*tar 21

适合您的最佳技术如下:

chkApplications.Items.FindByValue("2").Selected = true;
chkApplications.Items.FindByValue("6").Selected = true;
Run Code Online (Sandbox Code Playgroud)

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

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

  • 如果找不到值,那将抛出异常.每次调用`FindByValue`时,还需要迭代整个集合一次. (2认同)

Mag*_*nus 5

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


小智 5

你可以将值放在list(MyList)中,并用它FindByValue来检查它们.

foreach (var item in MyList)
{
    checkBoxList.Items.FindByValue(item.id).Selected = true;
}
Run Code Online (Sandbox Code Playgroud)