title: MVC 4 Ajax.BeginForm POST does not bind to model in conroller
body: <p>Sorry for the amount of code here but it's the best way to explain what;s happening.</p>
  
  <p>I gave this code in my MVC 4 partial view:</p>
  
  <pre><code>  &lt;script src="~/Scripts/jquery.unobtrusive-ajax.js"&gt;&lt;/script&gt;
    @using (Ajax.BeginForm("TestPost", new AjaxOptions { HttpMethod = "Post" }))
      {                               
          foreach (var d in Model.DataItemsWithLabels)
          {                                    
              @Html.LabelFor(m =&gt; d.DataName)
              @Html.TextBoxFor(m =&gt; d.DataValue);             
          }
  
          &lt;input type="submit" value="Save" /&gt;
      }
  </code></pre>
  
  <p>And my controller action is as follows:</p>
  
  <pre><code> public ActionResult TestPost(CmaPartialModel model)
   {         
          return PartialView("Transaction", model);
   }
  </code></pre>
  
  <p>In my model I have some code that populates a list of objects (only if they are empty) that are defined as:</p>
  
  <pre><code> public List&lt;DataItemWithLabel&gt; DataItemsWithLabels { get; set; }      
  
      public class DataItemWithLabel
      {
          public string DisplayName { get; set; }
  
          public string DataName { get; set; }
  
          [Required]
          public string DataValue { get; set; }
      }  
  </code></pre>
  
  <p>I also have what  think is the correct web.config entries:</p>
  
  <p>
      
      
      
    </p>
  
  <p>I have read a load of posts here and elsewhere with no success.</p>
  
  <p>The code does post to the <code>TestPost</code> method but the model is always empty.  Can someone please tell me why this might be?</p>