Having ViewData and ViewModel could get confusing (unless ViewModel is just a wrapper on ViewData) and it'd make testing harder as you need to ensure that the data is being added to the "right" collection.