title: Model binding to Lists throws "Collection is read-only" exception
body: <p>I have a class like this:</p>
  
  <pre><code>public class SomeModel
  {
      public List&lt;Item&gt; Items { get; set; }
  
      public SomeModel()
      {
          this.Items = new List&lt;Item&gt;();
      }
  
  }
  </code></pre>
  
  <p>Where there can be a variable amount of <code>Item</code>s upon form post, zero to many. I'm using javascript to dynamically append hidden input fields on submit:</p>
  
  <pre><code>$("#container").children(".item").each(function (i) {
      form.append('&lt;input type="hidden" name="Items[' + i + '].Id" value="' + $(this).val() + '" /&gt;');
  });
  </code></pre>
  
  <p>However, after submitting, I get this error:</p>
  
  <pre><code>System.NotSupportedException: Collection is read-only.
  </code></pre>
  
  <p>The rendered syntax is basically the same as one I would get using <code>@Html.HiddenFor(model =&gt; model.Items[i].Id)</code> with <code>model.Items</code> being an array instead of a list, and that works fine. What is going wrong here?</p>
  
  <p>Action Method signature:</p>
  
  <pre><code>public ActionResult Post(SomeModel m)
  {
  </code></pre>