title: Viewmodel is created twice
body: <p>I pass an instance of LoginViewModel to my view (Login)
  When I click the submit button on the form another instance of LoginViewModel is created.
  I can observe this because I put a breakpoint in the constructor.</p>
  
  <p>Why does this happen and how can I fix it?</p>
  
  <pre><code>@using ViewModels
  
  @model LoginViewModel
  
  
  &lt;form action="~/Home/VerifyLogin" method="post"&gt;  
      &lt;table&gt;
          &lt;tr&gt;
              &lt;td&gt;
                  User Name:
              &lt;/td&gt;
  
              &lt;td&gt;
                  @Html.DropDownListFor(m =&gt; m.SelectedUserID, Model.UserList);
              &lt;/td&gt;
          &lt;/tr&gt;
  
          &lt;tr&gt;
              &lt;td&gt;
                  Password:
              &lt;/td&gt;
  
              &lt;td&gt;
                  @Html.TextAreaFor(m =&gt; m.SelectedPassword);
              &lt;/td&gt;
          &lt;/tr&gt;
  
          &lt;tr&gt;
              &lt;td colspan="2"&gt;
                  &lt;input type="submit" value ="Login" /&gt;
              &lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/form&gt; 
  </code></pre>
  
  <p>Controller</p>
  
  <pre><code>public class HomeController : Controller
  {
      //
      // GET: /Home/
      public ActionResult Index()
      {
          return View();
      }
  
      public ActionResult RedirectToLogin()
      {
          return View("Login", new LoginViewModel());
      }
  
      [HttpPost]
      public void VerifyLogin(LoginViewModel vm)
      {
          bool sucess = false;
  
          // some logic
  
          if(sucess)
              RedirectToAction("ProjectList", "Project");
  
  
  }
  </code></pre>
  
  <p>ViewModel</p>
  
  <pre><code>public class LoginViewModel :BaseViewModel
  {
      public IEnumerable&lt;User&gt; Users { get; private set; }
      public IEnumerable&lt;SelectListItem&gt; UserList { get; private set; }
  
      public int SelectedUserID { get; set; }
      public string SelectedPassword { get; set; }
  
      public LoginViewModel()
      {
          Users = DataService.GetUsers();
          UserList = new SelectList(Users, "ID", "Name"); 
      }
  
      public bool Login(string userName, string password)
      {
          return true;
      }
  }
  </code></pre>