ASP.NET MVC is aweb application framework developed by Microsoft that implements themodel–view–controller (MVC) pattern. It is no longer in active development[citation needed]. It isopen-source software, apart from the ASP.NET Web Forms component, which isproprietary.
ASP.NET Core has since been released, which unifiedASP.NET, ASP.NET MVC, ASP.NET Web API, andASP.NET Web Pages (a platform using onlyRazor pages). MVC 6 was abandoned due to Core and is not expected to be released. Core is currently planned to merge into ".NET 5".[4]
Some well known sites that use ASP.NET MVC includeStack Overflow,[5]Microsoft,GoDaddy andAncestry.com.[6][needs update]
Based onASP.NET, ASP.NET MVC allows software developers to build aweb application as a composition of three roles:Model,View andController. The MVC model defines web applications with 3 logic layers:
Amodel represents the state of a particular aspect of the application. Acontroller handles interactions and updates the model to reflect a change in state of the application, and then passes information to the view. Aview accepts necessary information from the controller and renders a user interface to display that information.[7]
In April 2009, the ASP.NET MVC source code was released under theMicrosoft Public License (MS-PL).[8]
"ASP.NET MVC framework is a lightweight,[9] 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."[10]
The ASP.NET MVC framework couples the models, views, and controllers usinginterface-based contracts, thereby allowing each component to be tested independently.[citation needed]
In March 2012,Scott Guthrie announced on his blog that Microsoft had released part of its web stack (including ASP.NET MVC,Razor and Web API) under an open source license (Apache License 2.0).[11]
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 onCodePlex. ASP.NET Web Forms was not included in this initiative for various reasons.[12]
| Date | Version |
|---|---|
| 10 December 2007 | ASP.NET MVCCTP |
| 13 March 2009 | ASP.NET MVC 1.0[13] |
| 16 December 2009 | ASP.NET MVC 2RC[14] |
| 4 February 2010 | ASP.NET MVC 2 RC 2[15] |
| 10 March 2010 | ASP.NET MVC 2[16] |
| 6 October 2010 | ASP.NET MVC 3 Beta[17] |
| 9 November 2010 | ASP.NET MVC 3 RC[17] |
| 10 December 2010 | ASP.NET MVC 3 RC 2[18] |
| 13 January 2011 | ASP.NET MVC 3[19] |
| 20 September 2011 | ASP.NET MVC 4 Developer Preview[20] |
| 15 February 2012 | ASP.NET MVC 4 Beta[21] |
| 31 May 2012 | ASP.NET MVC 4 RC[22] |
| 15 August 2012 | ASP.NET MVC 4[23] |
| 30 May 2013 | ASP.NET MVC 4 4.0.30506.0[24] |
| 26 June 2013 | ASP.NET MVC 5 Preview[25] |
| 23 August 2013 | ASP.NET MVC 5 RC 1[26] |
| 17 October 2013 | ASP.NET MVC 5[26] |
| 17 January 2014 | ASP.NET MVC 5.1[26] |
| 10 February 2014 | ASP.NET MVC 5.1.1[26] |
| 4 April 2014 | ASP.NET MVC 5.1.2[26] |
| 22 June 2014 | ASP.NET MVC 5.1.3[26] |
| 1 July 2014 | ASP.NET MVC 5.2.0[26] |
| 28 August 2014 | ASP.NET MVC 5.2.2[26] |
| 9 February 2015 | ASP.NET MVC 5.2.3[26] |
| 12 February 2018 | ASP.NET MVC 5.2.4[27] |
| 2 May 2018 | ASP.NET MVC 5.2.5[28] |
| 11 May 2018 | ASP.NET MVC 5.2.6[26] |
| 29 November 2018 | ASP.NET MVC 5.2.7[26] |
| 12 April 2022 | ASP.NET MVC 5.2.8[26] |
| 31 May 2022 | ASP.NET MVC 5.2.9[26] |
| 23 October 2023 | ASP.NET MVC 5.3.0 (Current) |
The view engines used in the ASP.NET MVC 3 and MVC 4 frameworks areRazor and the Web Forms.[29][30] 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.[31] Additionally, rather than the default ASP.NET Web Formspostback model, any interactions are routed to the controllers using the ASP.NETRouting mechanism. Views can be mapped to differentURLs.[7]
Other view engines: