title: Is there any good reason to use FormCollection instead of ViewModel?
body: <p>I've inherited a code base written in ASP.Net MVC 4. Every post method takes a <code>FormCollection</code>. Aside from annoyance of having to access the values through quoted strings, it also leads to drawbacks such as not being able to use things like <code>ModelState.IsValid</code>, or <code>[AllowHtml]</code> attributes on my ViewModel properties. They actually did create ViewModel classes for each of their views, (though they are pretty much just direct wrappers around the actual Entity Framework Model classes), but they are only used for the GET methods.</p>
  
  <p>Is there anything I'm missing about FormCollection that gives a reason why this may have actually been a good idea? It seems to only have drawbacks. I'd like to go through and "fix" it by using ViewModels instead. This would take a good bit of work because the ViewModels have properties that are interfaces and not concrete classes, which means either writing a custom binder or changing the ViewModels.</p>
  
  <p>But perhaps there's something I'm missing where it makes sense to use FormCollection?</p>