9

I try to check multiple values in ASP.NET CheckboxList but I couldn't.
I Wrote :

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

But it just selects item with value '6'
What's wrong ?

4 Answers 4

22

The best technique that will work for you is the following:

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

OR you can simply do it like...

  foreach (ListItem item in chkApplications.Items)
    {
        if (item.Value == "2" || item.Value == "6")
        {
            item.Selected = true;
        }
    }
Sign up to request clarification or add additional context in comments.

1 Comment

That will throw exception if value is not found. Also needs to iterate the complete collection once for every call to FindByValue.
5
foreach (var item in cb.Items.Cast<ListItem>()
        .Where (li => li.Value == "2" || li.Value == "6"))
   item.Selected = true;

Comments

5

you can put the value in a list (MyList), and use FindByValue to check them.

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

Comments

-1

Instead of trying to select the item through chkApplications.SelectedValue try chkApplications.Items.Item(2).Selected = True chkApplications.Items.Item(6).Selected = True

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.