KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to create a view that contains a list of checkboxes that is dynamically created from a database, and then retrieve the list of selected ones when the form is posted back. My EF model contains a class: public class ItemIWouldLikeACheckboxFor { public int Id { get; set; } public string Description { get; set; } } I have a view model that contains a list of these: public class PageViewModel { // various other properties public List<ItemIWouldLikeACheckboxFor> checkboxList { get; set; } } My controller get method: public ActionResult Create() { var viewModel = new PageViewModel(); viewModel.checkboxList = db.ItemIWouldLikeACheckboxFors.ToList(); return View(viewModel); } My view: <% using (Html.BeginForm()) { %> <%-- other stuff here... %> <% foreach (var item in checkboxList) { %> <%: Html.CheckBox( <!-- what exactly ?????? -->) %> <% } %> <%-- other stuff here...%> <input type="submit" /> <% } %> My controller post method: [HttpPost] public ActionResult Create(PageViewModel viewModel) { // do stuff with other fields // I would like to do something like: foreach (var item in selectedCheckBoxes) { // do stuff } } I can't seem to get it to work. My basic questions are mixed in as comments in the code snippets, but to recap: Is my view model OK? (do I need to add anything to capture the selected ones as opposed to simply the list to display?) What exactly should I put in the view to render each check box? How do I access the selected checkboxes in the controller after the post?
Tags (comma-separated)
Save Edits
Cancel