WHAT YOU WILL LEARN IN THIS CHAPTER
The Model-View-Controller (MVC) Pattern
The goals of ASP.NET MVC
How the MVC pattern has been applied to ASP.NET MVC
Working with controllers and actions
Using scaffolding to help generate views
validation in ASP.NET MVC 2
ASP.NET MVC is a Web framework that was originally released in March 2009 as an alternative to ASP.NET Web Forms. It was designed to limit abstractions and give developers a great deal of control over the creation of pages in an application. Specifically, ASP.NET MVC was designed to do the following:
Provide complete control over HTML markup — With Web Forms, the final markup is mostly determined by the server controls on a page.
Have intuitive website URLs — With Web Forms, the URL is determined by the location and name of the file being addressed.
Have a clear separation of concerns — The Web Forms programming model encourages developers to put business logic and database access code in the code-behind for a page.
Be testable by default — Several aspects of the Web Forms model make it difficult to write unit tests for user interface layer logic.
It's important to repeat that ASP.NET MVC is an alternative to Web Forms, not its replacement. MVC will suit the style of some developers, and seem a step backward for others. Many have used the analogy of manual versus automatic transmission. Manual (MVC) gives you complete control but requires more effort; automatic (Web Forms) may be slightly less efficient but it does ...