ASP.NET MVC: Difference between revisions
Line 118: | Line 118: | ||
* [http://awesome.codeplex.com ASP.NET MVC Project Awesome] a rich set of helpers for building interactive Ajax-enabled Web applications. |
* [http://awesome.codeplex.com ASP.NET MVC Project Awesome] a rich set of helpers for building interactive Ajax-enabled Web applications. |
||
* [https://github.com/maartenba/MvcSiteMapProvider ASP.NET MVC SiteMap Provider] SiteMapProvider implementation for the ASP.NET MVC framework. |
* [https://github.com/maartenba/MvcSiteMapProvider ASP.NET MVC SiteMap Provider] SiteMapProvider implementation for the ASP.NET MVC framework. |
||
* [http://www.nuget.org/packages/xsitemap XSitemap] is a free library for simple generation sitemaps. |
|||
* [http://mvccontrolstoolkit.codeplex.com/ ASP.NET MVC Controls Toolkit] A complete set of server controls for ASP.NET MVC. |
* [http://mvccontrolstoolkit.codeplex.com/ ASP.NET MVC Controls Toolkit] A complete set of server controls for ASP.NET MVC. |
||
* [http://mvcjquerycontrols.codeplex.com/ jQuery ASP.NET MVC Controls] A pack of ASP.NET MVC compatible controls based on [[jQuery]] and jqGrid |
* [http://mvcjquerycontrols.codeplex.com/ jQuery ASP.NET MVC Controls] A pack of ASP.NET MVC compatible controls based on [[jQuery]] and jqGrid |
Revision as of 15:13, 27 April 2014
Developer(s) | Microsoft |
---|---|
Stable release | 5.1
/ January 17, 2014 |
Repository | |
Written in | C#, VB.NET[1] |
Operating system | Cross-platform |
Platform | .NET Framework, Mono |
Type | Web application framework |
License | Apache License 2.0 |
Website | www |
The ASP.NET MVC is an open source web application framework that implements the model–view–controller (MVC) pattern.
Background
Based on ASP.NET, ASP.NET MVC 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. 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 information.[2]
In April 2009, the ASP.NET MVC source code was released under the Microsoft Public License (MS-PL).[3]
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.[4]
The ASP.NET MVC Framework couples the models, views, and controllers using interface-based contracts, thereby allowing each component to be easily tested independently.
Apache License 2.0 release
In March 2012, Scott Guthrie announced on his blog that Microsoft had released part of their web stack (including ASP.NET MVC, Razor and Web API) under an open source license (Apache License 2.0).[5]
Guthrie wrote that "Doing so will enable a more open development model where everyone in the community will be able to engage and provide feedback on code checkins, bug-fixes, new feature development, and build and test the products on a daily basis using the most up-to-date version of the source code and tests. ".
The source code now resides on CodePlex. ASP.NET Web Forms was not included in this initiative for various reasons.[6]
Release history
Date | Version |
---|---|
10 December 2007 | ASP.NET MVC CTP |
13 March 2009 | ASP.NET MVC 1.0[7] |
16 December 2009 | ASP.NET MVC 2 RC[8] |
4 February 2010 | ASP.NET MVC 2 RC 2[9] |
10 March 2010 | ASP.NET MVC 2[10] |
6 October 2010 | ASP.NET MVC 3 Beta[11] |
9 November 2010 | ASP.NET MVC 3 RC[11] |
10 December 2010 | ASP.NET MVC 3 RC 2[12] |
13 January 2011 | ASP.NET MVC 3[13] |
20 September 2011 | ASP.NET MVC 4 Developer Preview[14] |
15 February 2012 | ASP.NET MVC 4 Beta[15] |
31 May 2012 | ASP.NET MVC 4 RC[16] |
15 August 2012 | ASP.NET MVC 4[17] |
30 May 2013 | ASP.NET MVC 4 4.0.30506.0 [18] |
26 June 2013 | ASP.NET MVC 5 Preview [19] |
23 August 2013 | ASP.NET MVC 5 RC 1[20] |
17 October 2013 | ASP.NET MVC 5[20] |
17 January 2014 | ASP.NET MVC 5.1[20] |
10 February 2014 | ASP.NET MVC 5.1.1[20] |
4 April 2014 | ASP.NET MVC 5.1.2[20] |
View engines
The view engines used in the ASP.NET MVC 3 and MVC 4 Frameworks 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
, or 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.[21] 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.[2]
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.
See also
- Model View ViewModel
- Model–view–adapter
- Model–view–presenter
- Observer pattern
- Presentation–abstraction–control
- Hierarchical model–view–controller
References
- ^ Intro to ASP.NET MVC 3 (VB)
- ^ a b Scott Guthrie. "ASP.NET MVC Framework". Archived from the original on 22 October 2007. Retrieved 23 October 2007.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Scott Guthrie. "ASP.NET MVC 1.0 Source Released". Archived from the original on 3 April 2009. Retrieved 2 April 2009.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ ASP.NET MVC
- ^ Scott Guthrie. "ASP.NET MVC, Web API, Razor and Open Source". Retrieved 29 March 2012.
{{cite web}}
: Check|archiveurl=
value (help); Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Scott Hanselman. "ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source with contributions". Retrieved 29 March 2012.
{{cite web}}
: Check|archiveurl=
value (help); Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ http://go.microsoft.com/fwlink/?LinkId=144444
- ^ http://haacked.com/archive/2009/12/16/aspnetmvc-2-rc.aspx
- ^ http://haacked.com/archive/2010/02/04/aspnetmvc2-rc2.aspx
- ^ http://www.microsoft.com/downloads/details.aspx?FamilyID=C9BA1FE1-3BA8-439A-9E21-DEF90A8615A9&displaylang=en
- ^ a b http://www.asp.net/whitepapers/mvc3-release-notes
- ^ http://weblogs.asp.net/scottgu/archive/2010/12/10/announcing-asp-net-mvc-3-release-candidate-2.aspx
- ^ 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
- ^ http://www.asp.net/whitepapers/mvc4-release-notes
- ^ http://blogs.msdn.com/b/webdev/archive/2012/05/31/new-features-for-web-development-in-visual-studio-2012-rc.aspx
- ^ http://blogs.msdn.com/b/webdev/archive/2012/08/15/visual-studio-2012-rtw.aspx
- ^ http://www.asp.net/vnext/overview/latest/aspnet-and-web-tools-20122-release-notes-rtw
- ^ http://www.asp.net/vnext/overview/latest/release-notes#TOC10
- ^ a b c d e http://www.nuget.org/packages/Microsoft.AspNet.Mvc
- ^ "Scott Hanselman's ASP.NET MVC Preview 2 Screencast Tutorials". Archived from the original on 29 October 2008. Retrieved 13 October 2008.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help)
Further reading
- Jon Galloway, Phil Haack, Brad Wilson, and K. Scott Allen, Professional ASP.NET MVC 3, Wrox, 2011, ISBN 1-118-07658-3
- Jeffrey Palermo, Ben Scheirman, Jimmy Bogard, and Eric Hexter, ASP.NET MVC 2 in Action, Manning Publications, 2010, ISBN 1-935182-79-X
- Steven Sanderson, Adam Freeman, Pro ASP.NET MVC 3 Framework, Second Edition, Apress, 2011, ISBN 1-4302-3404-0
- Jonathan McCracken, Test-Drive ASP.NET MVC, Pragmatic Bookshelf, 2010, ISBN 1-934356-53-0
- Stephen Walther, ASP.NET MVC Framework Unleashed, Sam's, 2009, ISBN 0-672-32998-0
Commercial and non-commercial 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.
- XSitemap is a free library for simple generation sitemaps.
- 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
- ASP.NET MVC4 Project An ongoing project to locate Blood Donors using online maps.
- Data Moving Plug-in Advanced controls for ASP.NET MVC built on top of the Mvc Controls toolkit.
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 Entity Framework 4 Code First DDD jQuery Sample App shows the usage of DDD, Entity Framework 4 code first and jQuery in ASP.NET MVC, it also has a multi-language UI (using resource files) and a 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.
- Bing Maps Application in ASP.NET MVC 4 A beginners tutorial on using Bing Mapping in ASP.NET, exploring MVC features to handle mobile and desktop views from a single application - MSDN Article.
External links
- Microsoft ASP.NET MVC home page
- ASP.NET MVC, Web API, Web Pages source code on Codeplex
- ASP.NET MVC Team Program Manager's Blog
- ASP.NET MVC Deep Dive with Scott Hanselman