title: ASP.NET MVC Form and serializeArray() of jquery overriding checkbox's state with false
body: <p>I have a simple form with MVC Html helpers with different types of fields, including a single checkbox.</p>
  
  <pre><code>@Html.CheckBoxFor(m =&gt; m.Filter.IncludeInactiveGifts)
  </code></pre>
  
  <p>this helper always generates two controls. Here you can see a case with checkbox selected:</p>
  
  <pre><code>&lt;input class="check-box" id="Filter_IncludeInactiveGifts" name="Filter.IncludeInactiveGifts" type="checkbox" value="true"&gt;
  &lt;input name="Filter.IncludeInactiveGifts" type="hidden" value="false"&gt;
  </code></pre>
  
  <p>So when submitting a form builded with @Html.BeginForm everything is submitted fine and I always get true or false value for this checkbox. But in my case I have a telerik's grid on the page and I use jquery serializeArray() for serializing form and sending it with grid's Ajax DataBinding request, because I use this form as a filter for my grid.</p>
  
  <p>Here's the js:</p>
  
  <pre><code>var Grid_onDataBinding = function(e) {
                  var filterFields = {};
                  var formSerialized = $filterForm.serializeArray();
                  $.each(formSerialized, function(i, field) {
                      filterFields[field.name] = field.value;
                  });
  
                  e.data = filterFields;
              };
  </code></pre>
  
  <p>So because of MVC's helper creating two fields for the checkbox during the serialization I always get a false value from the second field. When data is passed to the controller the second value which is always false is binded to the model's property.</p>
  
  <p>What is the best way to fix this issue?</p>