title: mvc 4 Model is null
body: <p>i'm using razor's listboxfor for the first time, but my Model is always null.
  after reading similar posts and tryouts it still won't work.</p>
  
  <p>Person.cshtml</p>
  
  <pre><code>@model SampleApp.Web.ViewModel.PersonViewModel
  
  @{
       ViewBag.Title = "Welcome";
  }
  
  &lt;article&gt;
     &lt;p&gt;
        Welcome to example page. 
     &lt;/p&gt;
  
     &lt;p&gt;
       &lt;div class="container"&gt;
  
   //Post data works as expected, controllers create method write to db successfully 
   @using (Html.BeginForm("Create", "Person", FormMethod.Post, new { enctype =   "multipart/form-data" }))
   {
      @Html.AntiForgeryToken()
      @Html.ValidationSummary(true)
  
      &lt;fieldset&gt;
          &lt;legend&gt;Personen&lt;/legend&gt;
  
          &lt;div class="editor-label"&gt;
             @* @Html.LabelFor(model =&gt; model.Name)
          &lt;/div&gt;
          &lt;div class="editor-field"&gt;
              @Html.EditorFor(model =&gt; model.Age)
              @Html.ValidationMessageFor(model =&gt; model.Age)
          &lt;/div&gt;
  
          &lt;div class="editor-label"&gt;
              @Html.LabelFor(model =&gt; model.Surrname)
          &lt;/div&gt;
  &lt;/fielset&gt;
   &lt;/div&gt;
  
   &lt;p&gt;
      &lt;input type="submit" value="Create" /&gt;
   &lt;/p&gt;
  }
  
  //binding to Model fails, Model is null. Not be able to debug anything in    controller action, it stops when "loading" the page
  @using (Html.BeginForm("GetListBoxData", "Person"))
  {
     @Html.AntiForgeryToken()
     @Html.ValidationSummary(true)
     @Html.ListBoxFor(model =&gt; model.ListboxData, Model.ListboxData);
  }
  
  &lt;/div&gt;
  </code></pre>
  
  <p>PersonController.cs</p>
  
  <pre><code>[AcceptVerbs(HttpVerbs.Get)]
      [ValidateAntiForgeryToken]
      public ActionResult GetListBoxData()
      {
          var data = new List&lt;PersonViewModel&gt;();
          data.Add(new PersonViewModel{Name = "Test", Surrname="testsurrname", Age=30});
  
          var viewModel = new PersonViewModel()
          {
              ListboxData = data.AsEnumerable().Select(s=&gt; new SelectListItem{Value=s.Name ,Text = s.Surrname}),
          };
  
          return View(viewModel);
      }
  
      [AcceptVerbs(HttpVerbs.Post)]
      [ValidateAntiForgeryToken]
      public ActionResult GetListBoxData(PersonViewModel persondata)
      {
          //TODO: handle values from View
          return View(this);
      }
  
      [ValidateAntiForgeryToken]
      [AcceptVerbs(HttpVerbs.Post)]
      public ActionResult Create([Bind(Include = "Name, Surrname, Age")]  PersonViewModel persondata)
      {
          try
          {
              PersonService personDataProvider = new PersonService();
              personDataProvider.SavePerson(persondata);
  
              return new RedirectResult("SomewhereToGo");
          }
          catch (DataException ex)
          {
              //TODO: Log
          }
  
          return View(this);
      }
  </code></pre>
  
  <p>PersonViewModel</p>
  
  <pre><code>public class PersonViewModel
  {
      public int PersonId{ get; set; }
      public int Age { get; set; }
      public string Name { get; set; }
      public string Surrname { get; set; }
      public IEnumerable&lt;SelectListItem&gt; ListboxData { get; set; }
  }
  </code></pre>
  
  <p>writing values from editFor to db works as expected without code for listboxfor. 
  after adding it to my html it should be filled from db on page loading, but I get a ReferenceNotSet Exception on page loading. Model.ListboxData is null, before GetListBoxData action is called.</p>
  
  <p>Thanks a lot for your help!</p>