ASP.NET MVC Project Template
The Solution Explorer view of a typical ASP.NET MVC project template makes use of conventions and starts by creating Controller and Views folders:
- Under Controllers you find all class files that contain controllers.
- Under Views you find one subfolder for each controller. Each controller folder, in turn, contains the source files being used by the selected view engine to generate a response.
A typical project uses the default Web Forms-based view engine and outlines views using ASPX files. Neither index .aspx nor any other similar file is ever requested directly. Those files are simply helper files used by the view engine as the template for the page to render.
ASP.NET Web Forms and ASP.NET MVC pages can be mixed in the same application since they share the same runtime environment. However, ASP.NET MVC apps require a special configuration. For this reason, Web Forms pages can be hosted with ASP.NET MVC pages but not vice versa.
When To Use Which
ASP.NET MVC is a full alternative to Web Forms. But Web Forms isn't on its way out; it will continue to be improved. Choosing between them is a matter of personal preference and customer requirements. If you like Web Forms, then there's no reason you have to change.When making this choice, do consider the skills, education, and attitude of your development team.
6 New Features in ASP.NET MVC 2.0
1. Asynchronous controllers that increase the scalability of sites that interact with Web services
If you're not happy with the level of testability and overall design that Web Forms offers, or if you're curious about new technologies, take a look at ASP.NET MVC. It's a completely new framework, designed with SoC and testability in mind. ASP.NET MVC lets you re-experience the way Web development used to be with stateless behavior, full control of HTML, and the freedom to use scripts and cascading style sheets however you want.