title: Post method not populating values in dictionary
body: <p>I'm using the following as first line in .cshtml file:</p>
  
  <pre><code>@model Dictionary&lt;string, List&lt;Chapter&gt;&gt;
  </code></pre>
  
  <p>Get method is working fine. The data in the model I'm displaying in the UI, after post method I'm expecting the dictionary to populate which is not happening. Following is controller post method:</p>
  
  <pre><code>[HttpPost]
  public ActionResult Update(Dictionary&lt;string, List&lt;Chapter&gt;&gt; model)
  </code></pre>
  
  <p>Size of my dictionary is 8, but the result I'm getting has size of two with lists in it null and keys as, <code>"controller"</code> and <code>"action"</code>.</p>
  
  <p>How can I fix this? </p>
  
  <p><strong>View:</strong></p>
  
  <pre><code>@model Dictionary&lt;string, List&lt;Chapter&gt;&gt;
  
  
      using (Html.BeginForm("Update", "Controller", FormMethod.Post))
      {
      &lt;fieldset&gt;
              &lt;table class="LP3"&gt;
              @foreach (string className in Model.Keys)
              {
                 @Html.HiddenFor(a =&gt; Model[className])
                  List&lt;Chapter&gt; cList = Model[className];
  
                  &lt;tr&gt;
                      &lt;th style="width: 50px;"&gt;
                      &lt;/th&gt;
                      &lt;th style="text-align: left"&gt;
                          @className
                      &lt;/th&gt;
                      &lt;th style="width: 50px;"&gt;
                      &lt;/th&gt;
                      &lt;th style="text-align: left"&gt;
                      &lt;/th&gt;
                      &lt;th style="width: 50px;"&gt;
                      &lt;/th&gt;
                      &lt;th style="text-align: left"&gt;
                      &lt;/th&gt;
                  &lt;/tr&gt;
                  for (int i = 0; i &lt; cList.Count / 3; i++)
                  {
                  &lt;tr&gt;
                      @Html.HiddenFor(a =&gt; Model[className][3 * i].id)
                      @Html.HiddenFor(a =&gt; Model[className][3 * i].className)
  
                      &lt;td style="width: 50px;"&gt;
                          @Html.CheckBoxFor(chapterItem =&gt; Model[className][3 * i].included)
                      &lt;/td&gt;
                      &lt;td style="text-align: left"&gt;
                          @cList[3 * i].name
                          @Html.HiddenFor(a =&gt; Model[className][3 * i].name)
                      &lt;/td&gt;
  
                      @Html.HiddenFor(a =&gt; Model[className][3 * i + 1].id)
                      @Html.HiddenFor(a =&gt; Model[className][3 * i + 1].className)
                      &lt;td style="width: 50px;"&gt;
                          @Html.CheckBoxFor(chapterItem =&gt; Model[className][3 * i + 1].included)
                      &lt;/td&gt;
                      &lt;td style="text-align: left"&gt;
                          @cList[3 * i + 1].name
                          @Html.HiddenFor(a =&gt; Model[className][3 * i + 1].name)
                      &lt;/td&gt;
  
                      @Html.HiddenFor(a =&gt; Model[className][3 * i + 2].id)
                      @Html.HiddenFor(a =&gt; Model[className][3 * i + 2].className)
                      &lt;td style="width: 50px;"&gt;
                          @Html.CheckBoxFor(chapterItem =&gt; Model[className][3 * i + 2].included)
                      &lt;/td&gt;
                      &lt;td style="text-align: left"&gt;
                          @Model[className][3 * i + 2].name
                          @Html.HiddenFor(a =&gt; Model[className][3 * i + 2].name)
                      &lt;/td&gt;
                  &lt;/tr&gt; 
                  }
                  if (cList.Count % 3 == 2)
                  {
                  &lt;tr&gt;
                      @Html.HiddenFor(a =&gt; Model[className][cList.Count - 2].id)
                      @Html.HiddenFor(a =&gt; Model[className][cList.Count - 2].className)
                      &lt;td style="width: 50px;"&gt;
                          @Html.CheckBoxFor(chapterItem =&gt; Model[className][cList.Count - 2].included)
                      &lt;/td&gt;
                      &lt;td style="text-align: left"&gt;
                          @cList[cList.Count - 2].name
                          @Html.HiddenFor(a =&gt; Model[className][cList.Count - 2].name)
                      &lt;/td&gt;
                      @Html.HiddenFor(a =&gt; Model[className][cList.Count - 1].id)
                      @Html.HiddenFor(a =&gt; Model[className][cList.Count - 1].className)
                      &lt;td style="width: 50px;"&gt;
                          @Html.CheckBoxFor(chapterItem =&gt; Model[className][cList.Count - 1].included)
                      &lt;/td&gt;
                      &lt;td style="text-align: left"&gt;
                          @Model[className][cList.Count - 1].name
                          @Html.HiddenFor(a =&gt; Model[className][cList.Count - 1].name)
                      &lt;/td&gt;
                  &lt;/tr&gt; 
                  }
                  else if (cList.Count % 3 == 1)
                  {
                  &lt;tr&gt;
                      @Html.HiddenFor(a =&gt; Model[className][cList.Count - 1].id)
                      @Html.HiddenFor(a =&gt; Model[className][cList.Count - 1].className)
                      &lt;td style="width: 50px;"&gt;
                          @Html.CheckBoxFor(chapterItem =&gt; Model[className][cList.Count - 1].included)
                      &lt;/td&gt;
                      &lt;td style="text-align: left"&gt;
                          @Model[className][cList.Count - 1].name
                          @Html.HiddenFor(a =&gt; Model[className][cList.Count - 1].name)
                      &lt;/td&gt;
                  &lt;/tr&gt; 
                  }
                  &lt;tr style="height: 50px;"&gt;
                  &lt;/tr&gt;
              }
          &lt;/table&gt;
      &lt;/fieldset&gt;
  
      }
  }
  </code></pre>