public static class ControlExtensions { public static string GetCheckedValues(this CheckBoxList list) { return String.Join(",", list.Items.OfType() .Where(s => s.Selected) .Select(s => s.Value).ToArray()); } }
Usage example, somewhere in ASP.NET MVC:
public ActionResult Index() { CheckBoxList lst = new CheckBoxList(); lst.Items.Add(new ListItem("one", "1")); lst.Items.Add(new ListItem("two", "2")); lst.Items.Add(new ListItem("three", "3")); lst.Items.Add(new ListItem("four", "4")); lst.Items[0].Selected = true; lst.Items[1].Selected = true; ViewData["Message"] = lst.GetCheckedValues();// Here. return View(); }
Enjoy!