title: View Model IEnumerable<> property is coming back null (not binding) from post method?
body: <p>I have a view model that contains a Product class type and an IEnumerable&lt; Product > type.  On the post the first level product object comes back binded from the viewmodel whereas the product enum is coming back null.  </p>
  
  <p>Why is the IEnumerable&lt; Prouduct> property not getting binded to my view model per the post?  Thx!</p>
  
  <p>Models:</p>
  
  <pre><code>public class Product
  {
      public int ID { get; set; }
      public string Name { get; set; }
      public decimal Price { get; set; }
  }
  
  public class ProductIndexViewModel
  {
      public Product NewProduct { get; set; }
      public IEnumerable&lt;Product&gt; Products { get; set; }
  }
  
  public class BoringStoreContext 
  {
          public BoringStoreContext()
           {
               Products = new List&lt;Product&gt;();
               Products.Add(new Product() { ID = 1, Name = "Sure", Price = (decimal)(1.10) });
               Products.Add(new Product() { ID = 2, Name = "Sure2", Price = (decimal)(2.10) });
           }
           public List&lt;Product&gt; Products {get; set;}
  }
  </code></pre>
  
  <p>View:</p>
  
  <pre><code>@model ProductIndexViewModel
  
  @using (@Html.BeginForm())
  {
      &lt;div&gt;
          @Html.LabelFor(model =&gt; model.NewProduct.Name)
          @Html.EditorFor(model =&gt; model.NewProduct.Name)
      &lt;/div&gt;
      &lt;div&gt;
          @Html.LabelFor(model =&gt; model.NewProduct.Price)
          @Html.EditorFor(model =&gt; model.NewProduct.Price)
      &lt;/div&gt;
      &lt;div&gt;
          &lt;input type="submit" value="Add Product" /&gt;
      &lt;/div&gt;
  
          foreach (var item in Model.Products)
          { 
           &lt;div&gt;
          @Html.LabelFor(model =&gt; item.ID)
          @Html.EditorFor(model =&gt; item.ID)
      &lt;/div&gt;
      &lt;div&gt;
          @Html.LabelFor(model =&gt; item.Name)
          @Html.EditorFor(model =&gt; item.Name)
      &lt;/div&gt;
      &lt;div&gt;
          @Html.LabelFor(model =&gt; item.Price)
          @Html.EditorFor(model =&gt; item.Price)
      &lt;/div&gt;
  
          }
         }
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>public class HomeController : Controller
  {
      BoringStoreContext db = new BoringStoreContext();
  
      public ActionResult Index()
      {
          ProductIndexViewModel viewModel = new ProductIndexViewModel
          {
              NewProduct = new Product(),
              Products = db.Products
          };
          return View(viewModel);
      }
  
      [HttpPost]
      public ActionResult Index(ProductIndexViewModel viewModel)
      {
          // ???? viewModel.Products is NULL here
          // ???? viewModel.NewProduct comes back fine
  
          return View();
      }
  </code></pre>