Checkbox value not posting in ASP.NET MVC form?

I am trying to submit the form in ASP.NET MVC by updating a value of checkbox, but checkbox is not posting updated value to the C# Controller and posting null value, here is my razor code

 <div class="row">
        <div class="col-lg-12">@Html.Label("Is Last")</div>
        <div class="col-lg-12"><input type="checkbox" name="IsLast" id="IsLast" value="@Model.IsLast" /></div>

and here is my C# Controller code

  public ActionResult EditTutorial(StudentsModal stu)
            using (var context = new Modalentites())
               //c# code here get modal data and save new changes
               // stu.IsLast = null here
            return View();

How to make it work? Thanks.

Asked by:- pika
: 9076 At:- 9/14/2018 7:17:04 PM
ASP.NET MVC Razor checkbox value not posting mvc

2 Answers
profileImage Answered by:- Sam

Try using 

@Html.EditorFor(x => x.IsLast)

It will generate output as below

<input id="IsLast" type="checkbox" value="true" name="IsLast" />
<input type="hidden" value="false" name="IsLast" />
  • If the checkbox is not checked, the form value for "IsLast" will be "false", as If checkbox remains unchecked, the form submits only the hidden value (false)
  • if it is checked, both values will be posted as "true,false". The model binder understands this, and will automatically take the true value from the collection of values.


you can also try to use

@Html.CheckBoxFor(x => x.IsLast)


At:- 9/15/2018 5:34:58 PM Updated at:- 9/27/2022 7:39:08 AM

profileImage Answered by:- vikas_jk

To do a checkbox in Mvc use

@Html.CheckBoxFor(x => x.IsLast)

OR if you don't want to bind the model to the view.


Mvc automatically adds a hidden field to persist values when they are not selected.

OR You can use jQuery Solution(not recommended):

$("input[type=checkbox]").change(function () {
    if ($(this).prop("checked")) {
    } else {

Any of the above solution works.

At:- 10/19/2018 9:11:13 AM

Login/Register to answer
Register directly by posting answer/details

Full Name *

Email *

By posting your answer you agree on privacy policy & terms of use