With the release of ASP.NET MVC 3, I am wondering what are the major reasons (killer features) we should upgrade our app to MVC3.
Our app is currently in MVC2 using:
- Ninject & Ninject.Web for IoC,
- Linq to Sql
- jQuery (no ASP.NET Ajax)
- flot charts.
- MVC Contrib
- Custom REST (through dynamic WCF no XML config files)
We do not use ASP.NET charts or EF etc.
Is there any real compelling reason we should upgrade to ASP.NET MVC 3?
The main two reasons we're about to upgrade are:
1) The ability to control HTML validation on a per textbox basis rather than on a whole page- this means we can allow the users to enter HTML into some textboxes on a page, rather than having to control it at the page level.
2) Remote validation - much less ajax for us to write!
1 Razor
2 Razor Intellisense within Visual Studio
3 Partial Page Output Caching
4 Validation and JavaScript/AJAX improvements
The Razor View Engine will make your view code nicer.
More details here
Apart from all the answers there are few other reason for adopting MVC 3
No more custom controller factory! This will apply to you. They wrote a new
IDependencyResolver
that you implement andDependencyResolver.SetResolver(...)
. Your IoC will go through out the application.http://weblogs.asp.net/shijuvarghese/archive/2011/01/21/dependency-injection-in-asp-net-mvc-3-using-dependencyresolver-and-controlleractivator.aspx
Here's a few additional features in ASP.NET MVC 3
More imporvements and details can be found at ASP.NET MVC site along with Scott Guthrie's anouncment
But only you can evaluate whether you should upgrade or not for your specific project.
It should be noted (as Robert Koritnik commented) that MVC 3 requires .NET 4.