ASP.NET MVC Framework
The ASP.NET MVC Framework is a web application framework that implements the model-view-controller (MVC) pattern. Based on ASP.NET, it allows software developers to build a Web application as a composition of three roles: Model, View and Controller. A model represents the state of a particular aspect of the application. Frequently, a model maps to a database table with the entries in the table representing the state of the application[citation needed]. A controller handles interactions and updates the model to reflect a change in state of the application, and then passes information to the view. A view accepts necessary information from the controller and renders a user interface to display that.[1]
In April 2009, the ASP.NET MVC source code was released under the Microsoft Public License (MS-PL).[2]
ASP.NET MVC framework is a lightweight, highly testable presentation framework that is integrated with existing ASP.NET features. Some of these integrated features are master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc assembly.[3]
The ASP.NET MVC Framework couples the models, views, and controllers using interface-based contracts, thereby allowing each component to be easily tested independently.
Contents |
Release history
Date | Version |
---|---|
10 December 2007 | ASP.NET MVC CTP |
13 March 2009 | ASP.NET MVC 1.0[4] |
10 March 2010 | ASP.NET MVC 2.0[5] |
13 January 2011 | ASP.NET MVC 3.0[6] |
20 September 2011 | ASP.NET MVC 4.0 Developer Preview[7] |
View engines
The view engines used in the ASP.NET MVC 3 Framework are the Razor View Engine and the Web Forms view engine. Both view engines are part of the MVC 3 framework. By default, the view engine in the MVC framework uses Razor .cshtml
and .vbhtml
, Web Forms .aspx
pages to design the layout of the user interface pages onto which the data is composed. However, different view engines can be used.[8] Additionally, rather than the default ASP.NET Web Forms postback model, any interactions are routed to the controllers using the ASP.NET Routing mechanism. Views can be mapped to REST-friendly URLs.[1]
Other view engines:
- The MVCContrib library contains 8 alternate view engines. Brail, NDjango, NHaml, NVelocity, SharpTiles, Spark, StringTemplate and XSLT.
- The StringTemplate View Engine utilizes a .NET port of the popular Java Templating engine, StringTemplate.
- Spark is a view engine for the ASP.NET MVC (and the Castle Project MonoRail) frameworks.
- NDjango is a port of the popular Django templating engine to .NET. It is written in F# and comes with Visual Studio extension including full Intellisense support
- Naked Objects MVC - an implementation of the naked objects pattern using ASP.NET MVC
- Razor is a view-engine developed by Microsoft and released with MVC 3 that is optimized around HTML generation using a code-focused templating approach.
References
- ^ a b Scott Guthrie. "ASP.NET MVC Framework". http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx. Retrieved 2007-10-23.
- ^ Scott Guthrie. "ASP.NET MVC 1.0 Source Released". http://weblogs.asp.net/scottgu/archive/2009/04/01/asp-net-mvc-1-0.aspx. Retrieved 2009-04-02.
- ^ ASP.NET MVC
- ^ http://go.microsoft.com/fwlink/?LinkId=144444
- ^ http://www.microsoft.com/downloads/details.aspx?FamilyID=C9BA1FE1-3BA8-439A-9E21-DEF90A8615A9&displaylang=en
- ^ http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d2928bc1-f48c-4e95-a064-2a455a22c8f6&displaylang=en
- ^ http://aspnet.codeplex.com/wikipage?title=ASP.NET%20MVC%204%20RoadMap
- ^ "Scott Hanselman's ASP.NET MVC Preview 2 Screencast Tutorials". http://www.hanselman.com/blog/ASPNETMVCPreview2ScreencastTutorials.aspx. Retrieved 2008-10-13.
Further reading
- Jon Galloway, Phil Haack, Brad Wilson, and K. Scott Allen, Professional ASP.NET MVC 3, Wrox, 2011, ISBN 1118076583
- Jeffrey Palermo, Ben Scheirman, Jimmy Bogard, and Eric Hexter, ASP.NET MVC 2 in Action, Manning Publications, 2010, ISBN 193518279X
- Steven Sanderson, Adam Freeman, Pro ASP.NET MVC 3 Framework, Second Edition, Apress, 2011, ISBN 1430234040
- Jonathan McCracken, Test-Drive ASP.NET MVC, Pragmatic Bookshelf, 2010, ISBN 1934356530
- Stephen Walther, ASP.NET MVC Framework Unleashed, Sam's, 2009, ISBN 0672329980
Open-source projects
- ASP.NET MVC Project Awesome a rich set of helpers for building interactive Ajax-enabled Web applications.
- ASP.NET MVC SiteMap Provider SiteMapProvider implementation for the ASP.NET MVC framework.
- ASP.NET MVC Controls Toolkit A complete set of server controls for ASP.NET MVC.
- jQuery ASP.NET MVC Controls A pack of ASP.Net MVC compatible controls based on jQuery and jqGrid
- Dev Magic Fake A Framework to TDD Test Driven Development and simulate the underline layers of the MVC projects without writing code
Sample projects
- EFMVC - ASP.NET MVC 3 and Entity Framework 4.1 Code First Demo web app using ASP.NET MVC 3 RTM, Razor, EF Code First and Autofac
- ProDinner - ASP.NET MVC EF4 Code First DDD jQuery Sample App shows the usage of DDD, EF4 Code First and jQuery in asp.net mvc, it also has Multi-Language UI (using resource files) and very rich and responsive UI
- Mvc Music Store a sample store which sells albums online, demonstrating ASP.NET MVC's productivity features and data access via Entity Framework 4.
- NerdDinner shows the very basics of ASP.NET MVC also the usage of OpenID, Bing Maps, Twitter Integration etc.
External links
- Microsoft ASP.NET MVC home page
- ASP.NET MVC Team Program Manager's Blog
- ASP.NET MVC Deep Dive with Scott Hanselman
|
|