title: Custom Model Binding cannot access all fields MVC4
body: <p>Im trying to bind custom model, which looks approximately like this:</p>
  
  <pre><code>[ReadOnly(true)]
  [DisplayName("User ID")]
  public String ID { get; set; }
  [DisplayName("User Name")]
  [Required]
  public String Name { get; set; }
  [DisplayName("Change Password")]
  [Required]
  public bool ChangePassword { get; set; }
  [DisplayName("New password")]
  [Required]
  public String NewPassword { get; set; }
  public Dictionary&lt;String,Dictionary&lt;String,bool&gt;&gt; Navigation { get; set; }
  </code></pre>
  
  <p>In order to make input form look better I separate different Navigation items with div panel:</p>
  
  <pre><code>&lt;div class="row"&gt;
      &lt;div class=".small-12.large-3.large-centered.columns"&gt;
          &lt;h2&gt;EditUser&lt;/h2&gt;
  
          @using (Html.BeginForm())
          {
              @Html.AntiForgeryToken()
              @Html.Partial("ValidationSummary", @ViewData.ModelState)
  
              &lt;div&gt;
                  &lt;legend&gt;User details&lt;/legend&gt;
  
                  @Html.HiddenFor(model =&gt; model.ID)
  
                  &lt;div class="editor-label"&gt;
                      @Html.LabelFor(model =&gt; model.Name)
                  &lt;/div&gt;
                  &lt;div class="editor-field"&gt;
                      @Html.EditorFor(model =&gt; model.Name)
                      @Html.ValidationMessageFor(model =&gt; model.Name)
                  &lt;/div&gt;
                  &lt;div class="editor-label"&gt;
                      @Html.LabelFor(model =&gt; model.NewPassword)
                  &lt;/div&gt;
                  &lt;div class="editor-field"&gt;
                      @Html.EditorFor(model =&gt; model.NewPassword)
                      @Html.ValidationMessageFor(model =&gt; model.NewPassword)
                  &lt;/div&gt;
                  &lt;div class="editor-field"&gt;
                      &lt;div class="switch"&gt;
                          &lt;input id="switch-off" type="radio" name="switch-x" checked /&gt;
                          &lt;label for="switch-off"&gt;Keep&lt;/label&gt;
                          &lt;input id="switch-on" type="radio" name="switch-x" /&gt;
                          &lt;label for="switch-on" id="offClick"&gt;Change&lt;/label&gt;
                          &lt;span&gt;&lt;/span&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
                  @{
              int m = 0;
                  }
                  @{int k = 0;}
                  @foreach (var item in Model.Navigation)
                  {
                      &lt;div class="panel"&gt;
                          @{String name = names.Keys.ToArray()[m];}
                          &lt;h3&gt;@name&lt;/h3&gt;
                          &lt;div class="editor-field"&gt;
  
                              @for (int i = 0; i &lt; item.Value.Count; i += 3)
                              {
  
                                  @:&lt;div id="btnset_@k"&gt;
  for (int j = 0; j &lt; 3; j++)
  {
      if (i + j &lt; item.Value.Count)
      {
  
          String id = item.Key + "_" + item.Value.Keys.ToArray()[i + j];
          String value = item.Value.Values.ToArray()[i + j] ? "checked=\"checked\"" : String.Empty;
  
                                  &lt;input type="checkbox" id="@id" @value /&gt;
                                  &lt;label for="@id"&gt;@names[name][i + j]&lt;/label&gt;
  
      }
  
  }
                              @:&lt;/div&gt;
                                                                                                                                              k++;
                              }
  
                          &lt;/div&gt;
                      &lt;/div&gt;
                              m++;
  
                  }
                  &lt;p&gt;
                      &lt;input type="submit" value="Save" class="button" /&gt;
                  &lt;/p&gt;
              &lt;/div&gt;
          }
  </code></pre>
  
  <p>The problem is when I derive Default DefaultModelBinder, the controllerContext.HttpContext.Request.Form contains no keys for radio button groups, which I have in the form. What am I doing wrong?</p>