With total control over html rendering in ASP.NET MVC there are a lot of things you can do, and this actually is correct the other way around, meaning you have to do a lot of things yourself: No fancy ASP.NET Custom Controls. It somehow reminds me of the old days, when you had to do everything to display a list of data. Back then, everything seemed manual. You had to emit html, control page state, etc. but with the rise of ASP.NET everything was amazingly done for you behind the scene. You no longer had to waste your time on the basics and you could focus on the problem at hand. Great, right?

Now with ASP.NET MVC, you might think we’re back where we started, but I wouldn’t go that far. While ASP.NET MVC offers control, maintainability and simplicity it also provides you Separation of Concerns which is one of the things that was lacking in Classic ASP.

The question is, should you use it, instead of well established ASP.NET WebForms? That depends. Are you working on a greenfield project? Are you eager to learn the new stuff? Are you looking for more control and power on what the actual html outcome is? If you answer to these questions is positive, then you definitely need to use ASP.NET MVC for your project.