title: ASP NET MVC 4 collection is null on post
body: <p>I read most of Google :-), but I can't proceed. The collection on my object is and stays null on post, whatever I do. </p>
  
  <p>My Model: </p>
  
  <pre><code>public class ArticleViewModel
  {
      public Guid EventId { get; set; }
      public IList&lt;ArticleItemViewModel&gt; ArtikelListe { get; set; }
  
      public decimal GesamtpreisNetto { get; set; }
      public decimal MwSt { get; set; }
  }
  </code></pre>
  
  <p>and </p>
  
  <pre><code>public class ArticleItemViewModel
  {
      public Guid EventId { get; set; }
      public Guid Id { get; set; }
  
      public string Artikelname { get; set; }
      public string Artikelname_EN { get; set; }
  
      public string Information { get; set; }
      public string Information_EN { get; set; }
  
      public decimal Preis { get; set; }
  
      public bool MitAnzahl { get; set; }
      public bool IstKategorie { get; set; }
  
      public int Anzahl { get; set; }
      public bool Checkbox { get; set; }
  
      public int Reihenfolge { get; set; }
  }
  </code></pre>
  
  <p>My View: </p>
  
  <pre><code>@using (Html.BeginForm("Next", "Article", FormMethod.Post))
  {
  @Html.HiddenFor(x =&gt; x.EventId)
  
  &lt;input type="hidden" name="ArtikelListe" /&gt;
  
  for (var i = 0; i &lt; Model.ArtikelListe.Count; i++)
  //  foreach (EventManager.ViewModels.ArticleItemViewModel artikelItem in Model.ArtikelListe)
  {               
      &lt;div&gt;
          &lt;div&gt;
              @if (Model.ArtikelListe[i].IstKategorie)
              {
                  @Html.LabelFor(x =&gt; x.ArtikelListe[i].Artikelname)&lt;br /&gt;  
                  @Html.LabelFor(x =&gt; x.ArtikelListe[i].Information)
              }
              else
              {
                  if (Model.ArtikelListe[i].MitAnzahl)
                  {
                      @Html.TextBoxFor(x =&gt; x.ArtikelListe[i].Anzahl, new { @class = "field text fn" })
                  }
                  else
                  {
                      @Html.LabelFor(x =&gt; x.ArtikelListe[i].Anzahl)                     
                  }
  
                  @Html.LabelFor(x =&gt; x.ArtikelListe[i].Artikelname)&lt;br /&gt;  
                  @Html.LabelFor(x =&gt; x.ArtikelListe[i].Information)
              }        
          &lt;/div&gt;
      &lt;/div&gt;
  }
  </code></pre>
  
  <p>On post, I get my Viewmodel back and it has a Collection of ArtikelListe with 15 items (thats correct), but these are all null! </p>
  
  <p>In my HTTP Header I get the following post data:</p>
  
  <pre><code>EventId:824e7f3c-7190-4ebb-aa60-51b57c977b1e
  ArtikelListe:
  ArtikelListe[1].Anzahl:0
  ArtikelListe[2].Anzahl:1
  ArtikelListe[3].Anzahl:0
  submitButton:Nächste
  </code></pre>
  
  <p>I wonder why just partial data is sent withon the http post and why all my list items are null. I tried to render by for and foreach. same result.</p>
  
  <p>Any ideas? I'm helpless.</p>