Jan 14, 2011 10:40 GMT  ·  By

Microsoft has released the final version of ASP.NET MVC 3 on January 13th, 2010, offering the latest Model-View-Controller (MVC) framework on top of the ASP.NET 4 runtime. Early adopters that followed the evolution of ASP.NET MVC closely, already know that version 3 brings to the table significant enhancements over the previous release.

There are a number of new features packed into ASP.NET MVC 3 RTM, as well as additional goodies, including the new Razor syntax.

“ASP.NET MVC 3 ships with a new view-engine option called “Razor” (in addition to continuing to support/enhance the existing .aspx view engine).

“Razor minimizes the number of characters and keystrokes required when writing a view template, and enables a fast, fluid coding workflow,” revealed Scott Guthrie, Corporate Vice President, .NET Developer Platform.

The evolution of ASP.NET MVC to version 3 allows devs to build projects involving rich JavaScript but also leveraging early variants of new HTML5 capabilities.

In terms of JS, ASP.NET MVC 3 RTM is capable of using Unobtrusive JavaScript based approach for validation, features built-in support for posting JSON-based parameters and includes not only jQuery, but also the jQuery Validate plugin.

Microsoft has also focused on improving the overall validation capabilities of ASP.NET MVC 3 RTM, offering customers features such as built-in support for Remote Validation; support for the new IValidatableObject interface; support for improvements made to the ValidationAttribute class in .NET 4; etc.

Additional enhancements are related to Output Caching, Dependency Injection, extensibility hooks, and more improvements which Guthrie highlighted:

“•Improved New Project dialog that makes it easy to start new ASP.NET MVC 3 projects from templates.

•Improved Add->View Scaffolding support that enables the generation of even cleaner view templates.

•New ViewBag property that uses .NET 4’s dynamic support to make it easy to pass late-bound data from Controllers to Views.

•Global Filters support that allows specifying cross-cutting filter attributes (like [HandleError]) across all Controllers within an app.

•New [AllowHtml] attribute that allows for more granular request validation when binding form posted data to models.

•Sessionless controller support that allows fine grained control over whether SessionState is enabled on a Controller.

•New ActionResult types like HttpNotFoundResult and RedirectPermanent for common HTTP scenarios.

•New Html.Raw() helper to indicate that output should not be HTML encoded.

•New Crypto helpers for salting and hashing passwords.”

ASP.NET MVC 3 RTM is available for download here.