ASP.NET MVC 2
The Model-View-Controller (MVC) pattern is an architectural design principle that separates the components of a Web application. This separation gives you more control over the individual parts of the application, which lets you more easily develop, modify, and test them.
ASP.NET MVC is part of the ASP.NET framework. Developing an ASP.NET MVC application is an alternative to developing ASP.NET Web Forms pages; it does not replace the Web Forms model.
If you have installed Visual Studio 2010, ASP.NET MVC 2 is already installed on your computer. You can get the most up-to-date version of the ASP.NET MVC 2 framework from the ASP.NET MVC download page.
Note
An earlier version of the MVC Framework (ASP.NET MVC 1.0) is also available. If you are working with an application that is specifically written to work with that version of the MVC framework, you can download ASP.NET MVC 1.0 from the ASP.NET MVC 1.0 page on the Microsoft Download Center.
Content Map for ASP.NET MVC
We suggest the following progression of documentation to help you learn about ASP.NET MVC. You can download complete example projects from the ASP.NET MVC 2 Code Examples page on the MSDN Web site.
Note
Additional information is available in blog entries written by ASP.NET MVC experts. For more information, see Blog Entries About ASP.NET MVC later in this document.
Blog Entries About ASP.NET MVC
The following blog entries provide additional information about how to work with ASP.NET MVC.
ASP.NET MVC 2 Released (Scott Guthrie)
MVC FAQ, updated periodically (Rick Anderson)
Tips on getting your ASP.NET MVC questions answered quickly (Rick Anderson)
Building Web Apps without Web Forms (Chris Tavares)
ASP.NET MVC 2 Templates (Brad Wilson)
Migrating ASP.NET MVC 1.0 applications to ASP.NET MVC 2 Beta (Eilon Lipton)
Hmtl.RenderAction and Html.Action (Phil Haack)
DRY-ing out the MVC 2 Templated Helpers (Rick Anderson)
Manipulating Action Method Parameters (Phil Haack)
ASP.NET MVC 2 Optional URL Parameters (Phil Haack)
Using jQuery Grid with ASP.NET MVC (Phil Haack)
Scripting ASP.NET MVC Views Stored in the Database (Phil Haack)
Editable Routes (Phil Haack)
Introducing SmartyRoute: A smarty-ier way to do routing in ASP.NET applications (Eilon Lipton)
Input Validation vs. Model Validation in ASP.NET MVC (Brad Wilson)
Remote Validation with ASP.NET MVC 2 (Brad Wilson)
Localizing ASP.NET MVC Validation (Phil Haack)
JSON Hijacking (Phil Haack)
ASP.NET Wire Format for Model Binding to Arrays, Lists, Collections, Dictionaries (Scott Hanselman)
Should my database calls be Asynchronous? (Rick Anderson)
Consuming a Portable Area with a Web Forms application (Jeffery Palermo)