Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is it removed: ASP.NET MVC CheckBoxList (without MVCContrib)

Why is the CheckBoxList removed from ASP.NET MVC preview release 5?

Currently I don't see any way in which I can create a list of checkboxes (with similar names but different id's) so people can select 0-1-more options from the list.

There is an CheckBoxList list present in the MVCContrib library, but it is deprecated. I can understand this for the other HtmlHelpers, but there does not seem to be a replacement for the CheckBoxList in preview 5.

I would like to create a very simple list like you see below, but what is the best way to do this using ASP.NET MVC preview release 5?

<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="goed"> goed
<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="redelijk"> redelijk
<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="matig"> matig
<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="slecht"> slecht
like image 803
Frogbite Avatar asked Oct 14 '08 14:10

Frogbite


3 Answers

A for loop in the view to generate the checkboxes

<% foreach(Inhoud i in ViewData["InhoudList"] as List<Inhoud>) { %>
  <input type="checkbox" name="Inhoud" value="<%= i.name %>" checked="checked" /> <%= i.name %>
<% } %>   

Don't use Html.Checkbox, as that will generate two values for each item in the list (as it uses a hidden input for false values)

like image 95
Corin Blaikie Avatar answered Nov 09 '22 12:11

Corin Blaikie


I recently blogged about implementing the CheckBoxList helper in the MVC Beta. Here is the link.

like image 39
JeremiahClark Avatar answered Nov 09 '22 14:11

JeremiahClark


I have my own implementation of CheckListBox which has support for ModelState. If you are interested it's in Un CheckBoxList que funciona en ASP.NET MVC. The post is in Spanish, but you shouldn't have any problems reading the code.

What is interesting in Jeremiah solution is the fact that you can set the initial state of the checkboxes, something you can't do with my CheckListBox.

like image 1
Gerardo Contijoch Avatar answered Nov 09 '22 14:11

Gerardo Contijoch