How to set multiple selected values in asp.net checkboxlist

Nicholas picture Nicholas · Apr 27, 2009 · Viewed 41.4k times · Source

I have a asp.net checkbox list bound to a linq to sql datasource and when I check the item count of my CheckBoxList on the page load event it is 0. I want to be able to set the selected items on my checkboxlist here but cannot.

The datasource's selected event fires after the page load. If this is the case, how can I set the selected items on my list?

If I set the SelectedValue to a value it only displays the last value as selected instead of all the values which are selected. How can I select multiple values in my checkboxlist in the pageload event?

Answer

robmzd picture robmzd · Mar 17, 2010

I know this is an old post but I had the same problem recently.

To select multiple items of a DataBound CheckBoxList, handle the DataBound event and loop through the Items collection setting the Selected property individually on each item as required.

Setting the SelectedValue property of the control only checks the final item.

 foreach (ListItem item in MyCheckBoxList.Items)
 {
     item.Selected = ShouldItemBeSelectedMethod(item.Value);
 }