title: CheckBoxFor not binding to model
body: <p>My application works like this: A user chooses a project from a dropdown list and it loads a partial view. The controller action that returns the partial view pulls data from a database and populates the checkboxes in the partial view with the values that exist in the database. To do that, obviously the model is returned with the partial view. This is working just fine.</p>
  
  <p>Now, if a user changes the value of the checkbox and submits the form again, I assumed the checkboxes' new values would be bound to the model and thus, I would be able to use it in updating the database with new values. Unforunately, everything is coming back as "false" even if the checkbox is checked. I do understand that if <em>no action</em> is taken on the checkbox it will submit a false value (even if it was pre-populated with a checkmark from an existing value in the db), I will concern myself with fixing that later, but I'm trying to figure out why the boxes that get actively checked are not binding to the model. I'm not sure what the deal is as my CheckBoxFor helpers look correct based on everything I've read.</p>
  
  <p><strong>Model</strong></p>
  
  <pre><code>public class DataSharingModels
  {
      public string ReferenceID { get; set; }
      public NBTC NBTCGroup { get; set; }
      public Contractors ContractorsGroup { get; set; }
      public Coordinators CoordinatorsGroup { get; set; }
      public NGO NGOGroup { get; set; }
      public Public PublicGroup { get; set; }
      public SelectList FA_RA_List { get; set; }
  
  }
  
  public class NBTC
  {
      public Boolean NBTC_FA_Centroid { get; set; }
      public Boolean NBTC_FA_Bound { get; set; }
      public Boolean NBTC_RA_Centroid { get; set; }
      public Boolean NBTC_RA_Bound { get; set; }
      public Boolean NBTC_Spring_Sum { get; set; }
      public Boolean NBTC_Spring_Analysis { get; set; }
      public Boolean NBTC_Spring_Locate { get; set; }
      public Boolean NBTC_Fall_Sum { get; set; }
      public Boolean NBTC_Fall_Analysis { get; set; }
      public Boolean NBTC_Fall_Locate { get; set; }
      public Boolean NBTC_HabMon_Sum { get; set; }
      public Boolean NBTC_HabMon_Analysis { get; set; }
      public Boolean NBTC_HabMon_Locate { get; set; }
      public Boolean NBTC_HabMgmt_Sum { get; set; }
      public Boolean NBTC_HabMgmt_Analysis { get; set; }
      public Boolean NBTC_HabMgmt_Locate { get; set; }
      public Boolean NBTC_Inventory_Sum { get; set; }
      public Boolean NBTC_OpSvy_Sum { get; set; }
      public Boolean NBTC_OpSvy_Individ { get; set; }
  }
  //continues...
  </code></pre>
  
  <p><strong>Partial View</strong></p>
  
  <pre><code>@model xxx.Models.DataSharingModels
  
  @using (Html.BeginForm("SetPermission", "DataSharing", FormMethod.Post, new { id = "dShareForm" }))
  {
  &lt;table id="data-sharing-table"&gt;
      //a whole bunch of table set up
      &lt;tr&gt;
          &lt;td rowspan="2"&gt;CIP Focal Area&lt;/td&gt;
          &lt;td&gt;Centroid&lt;/td&gt;
          &lt;td&gt;&lt;input type="checkbox" name="NBCIStaff" checked disabled /&gt;&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.NBTCGroup.NBTC_FA_Centroid, nbtcAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.ContractorsGroup.Contractors_FA_Centroid, contractAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.CoordinatorsGroup.Coordinators_FA_Centroid, coordAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.NGOGroup.NGO_FA_Centroid, ngoAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.PublicGroup.Public_FA_Centroid, publicAttr)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Boundary&lt;/td&gt;
          &lt;td&gt;&lt;input type="checkbox" name="NBCIStaff" checked disabled /&gt;&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.NBTCGroup.NBTC_FA_Bound, nbtcAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.ContractorsGroup.Contractors_FA_Bound, contractAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.CoordinatorsGroup.Coordinators_FA_Bound, coordAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.NGOGroup.NGO_FA_Bound, ngoAttr)&lt;/td&gt;
          &lt;td&gt;@Html.CheckBoxFor(m =&gt; m.PublicGroup.Public_FA_Bound, publicAttr)&lt;/td&gt;
      &lt;/tr&gt;
      //it continues on like this
  &lt;/table&gt;
  &lt;button class="btn btn-default" type="submit"&gt;Submit&lt;/button&gt;
  }
  </code></pre>
  
  <p><strong>Controller</strong></p>
  
  <pre><code>[HttpPost]
  public void SetPermission(DataSharingModels dsm)
  {
      //do stuff
  }
  </code></pre>