Background
In this article we will learn how to bind CheckBoxList in ASP.NET MVC used to choose multiple records. So lets start with step by step approach.
Step 1: Create an MVC Application.
Now let us start with a step by step approach from the creation of simple MVC application as in the following:
- "Start", then "All Programs" and select "Microsoft Visual Studio 2015".
- "File", then "New" and click "Project..." then select "ASP.NET Web Application Template", then provide the Project a name as you wish and click on OK .
Step 2: Add Model class.
Right click on model folder of created MVC application project and add class named CheckBoxModel.cs as:
CheckBoxModel.cs
- public class CheckBoxModel
- {
- public int Value { get; set; }
- public string Text { get; set; }
- public bool IsChecked { get; set; }
- }
- public class CheckBoxList
- {
- public List<CheckBoxModel> CheckBoxItems { get; set; }
- }
Step 3: Add Controller.
Right click on Controllers folder of created MVC application and add Controller named HomeController.cs as:
HomeController.cs
- public class HomeController : Controller
- {
-
- public ActionResult Index()
- {
-
- CheckBoxList ChkItems = new CheckBoxList();
-
- List<CheckBoxModel> ChkItem = new List<CheckBoxModel>()
- {
- new CheckBoxModel {Value=1,Text="ASP.NET",IsChecked=true },
- new CheckBoxModel {Value=1,Text="C#",IsChecked=false },
- new CheckBoxModel {Value=1,Text="MVC",IsChecked=false },
- new CheckBoxModel {Value=1,Text="Web API" ,IsChecked=false},
- new CheckBoxModel {Value=1,Text="SignalR",IsChecked=false },
- new CheckBoxModel {Value=1,Text="SQL" ,IsChecked=false},
- };
-
- ChkItems.CheckBoxItems = ChkItem;
- return View(ChkItems);
-
- }
-
- }
Step 4: Add View
Right click on
Views folder of created MVC application project and add empty
View name Index.cshtml as:
Now open the Index.cshtml view and write the following code into the view
- @model BindCheckBoxListInMVC.Models.CheckBoxList
- @{
- ViewBag.Title = "www.compilemode.com";
- }
- <div class="form-horizontal">
- <h4>Select your favourite Subjects</h4>
- @foreach (var item in Model.CheckBoxItems)
- {
- <input id="chk@(item.Value)"
- type="checkbox"
- value="@item.Value"
- checked="@item.IsChecked" />
- @item.Text <br />
- }
-
- </div>
Now everything is ready, run the application, then the CheckBoxList will look like the following output:
From all the above examples we learned how to bind CheckBoxList in ASP.NET MVC.
Note
- Do proper validation such as date input values while implementing.
- Download the Zip file of the sample application for a better understanding
Summary
I hope this article is useful for all readers, if you have a suggestion, then please contact me.