title: Why do my viewmodel properties end up null or zero?
body: <p>I'm working on my first MVC application, still figuring it all out.</p>
  
  <p>I have a viewmodel which, at this point, is identical to my domain object. My controller builds the viewmodel and passes it to a view. The view only displays a some of the properties because I don't want primary and/or foreign keys displayed for the user yet, in the case of a primary key, I need to have the data in order to update / delete the database.</p>
  
  <p>It appears that unless I use a viewmodel property in the view, it is set to default values (0 for numeric value types and null for reference types) when I pass the viewmodel back. Is this correct behavior? </p>
  
  <p>I confirmed the viewmodel passed to the Edit view does contain all the properties (as I would expect).</p>
  
  <p>The question - Once a view is rendered, what happens to the viewmodel? If my viewmodel contains properties that are not used in the view, do their values just disappear? For example, when I click the Edit actionlink to fire the Edit action on the controller, the viewmodel that gets passed to the action does not contain any properties unless they are visible on the screen. Why?</p>
  
  <p>BTW, this is ASP.NET MVC 4 RC.</p>