Is it a better idea to have a single ViewModel per view or one per controller action?
Example:
public ProjectController : Controller { public Act
Use different model to receive input parameters in Post action (I don't even call it ViewModel in that case) than to pass output parameters to the view.
That way you can customize exactly what input parameters do you accept.