title: Passing a list of model from View to Controller returns the collection with default values
body: <p>I think I am missing something little.</p>
  
  <p>All I want to do is to pass the List of models from View to Controller, I have 7 items and I succeeded to pass those 7 items but all its properties values are default.</p>
  
  <p>This is my view:</p>
  
  <pre><code>@model List&lt;News&gt;
  
  @using (Html.BeginForm("SaveNewsPositions", "home", new { area = "news" }, FormMethod.Post))
      {
          &lt;a href="#" id="savePositions"&gt;Save positions&lt;/a&gt;
          &lt;div class="news-items"&gt;
              @foreach (var news in Model)
              {
                  @Html.Partial("_NewsControl", news)
              }
          &lt;/div&gt;
      }
  </code></pre>
  
  <p>And the JS code:</p>
  
  <pre><code> $('#savePositions').on('click', function () {
      var form = $('form');
      $.post('@Url.Action("SaveNewsPositions", "home", new {area = "news"})', form.serialize(), function (response) {
          if (response.success) {
              //TODO...
          }
  });
  </code></pre>
  
  <p>When I debug the form.serialize() I see the object with all values, for example:</p>
  
  <pre><code>Position=1&amp;Id=106 etc...
  </code></pre>
  
  <p>But when it comes to the Controller:</p>
  
  <pre><code>[HttpPost]
  public JsonResult SaveNewsPositions(List&lt;News&gt; models)
  {
      //Some Code...
  }
  </code></pre>
  
  <p>I see that models have 7 items and each item has Position with 0 value and Id that is identity (first item: id = 1, second id = 2, etc.).</p>
  
  <p>How can I fix it?</p>