Asp.Net MVC is a web application framework from Microsoft. It was first published in November 2007 and has since seen more than 10 releases and 2 major versions. (At the time of writing the latest version was Asp.Net MVC 2).
Thanks to the high number of releases, Asp.Net MVC has received a lot feedback and is much more stable than some other new frameworks from Microsoft.
MVC stands for Model-View-Controller, a pattern that’s becoming increasingly popular with web development frameworks.
Asp.Net MVC is an alternative to Web Forms (though you can mix the two, for instance when you need to do a phased upgrade), which means you won’t be dealing with pages, user controls, postbacks or viewstate, let alone complex event life cycles.
Instead, you’ll be defining controllers, actions, and views. The underlying ASP.NET platform is the same, however, so things like HTTP handlers and HTTP modules still apply.
The main benefits of using Asp.Net MVC are:
• Full control over HTML
• Full control over URLs
• Separation of concerns
A very convincing article about why you should use Asp.Net MVC can be read here: I Spose I’ll Just Say It: You Should Learn MVC
MVC stands for Model – View – Controller and can be seen as follows:
• Model : The “thing” that your software is built around. If you were building a product catalog, your models might be product and category.
• View : A visual representation of a model. It’s usually the resulting HTML that the framework renders to the browser, such as the HTML representing a product listing, or the details of a product.
• Controller - The controller processes input, acts upon the model, and decides what to do—render a view, redirect somewhere else, and so on. The controller might retrieve a list of products from your repository layer and send them to a view.
You can start learning about Asp.Net MVC in the Asp.Net MVC section on the Microsoft Asp.Net site: http://www.asp.net/mvc
Here you will find tons of getting started tutorials, walk troughs and videos. Keep in mind that due to the rapid evolution and the MVC team’s “Release Early and Often” strategy, some of these resources might be a bit outdated.
Asp.Net MVC in Action and Pro Asp.Net MVC have proven to be very good books to get you on a productive level in no time.
Thanks to Asp.Net MVC being a community driven project, there are some very good blogs that you can (and should) follow. Subscribing to these should keep you up to date:
There are several very good videos from Mix 2010 you definitely would like to look at. See the following at http://live.visitmix.com/Videos
- Building a Next-Generation Web Application with Microsoft ASP.NET MVC 2 and jQuery
- What's New in Microsoft ASP.NET MVC 2
- The HaaHa Show: Microsoft ASP.NET MVC Security with Haack and Hanselman
There are a few community projects available of which the source code demonstrate how Asp.Net MVC normally are used in real production applications.
I noticed those that learned Asp.Net MVC from MVC in Action always been a step ahead in the game.
MVC 2 in Action is coming up, and while they are wrapping up the book you can get the manuscripts and chapter's source code on github.
Please feel free to send more additional links and resources you think would be useful for someone trying to nut out Asp.Net MVC.