framework d'application web développé par Microsoft qui implémente le modèle MVC ( Modèle-Vue-Contrôleur ). Son développement est désormais arrêté . Il s'agit d'un logiciel libre , à l'exception du composant ASP.NET Web Forms, qui est propriétaire .
Depuis, ASP.NET Core a été publié, unifiant ASP.NET , ASP.NET MVC, ASP.NET Web API et ASP.NET Web Pages (une plateforme utilisant uniquement des pages Razor ). MVC 6 a été abandonné au profit de Core et sa publication n'est pas prévue. Core devrait fusionner avec « .NET 5 ».
Parmi les sites bien connus qui utilisent ASP.NET MVC, on peut citer Stack Overflow , Microsoft , GoDaddy et Ancestry.com .
ASP.NET , ASP.NET MVC permet aux développeurs de logiciels de créer une application web composée de trois rôles : Modèle , Vue et Contrôleur . Le modèle MVC définit les applications web avec trois couches logiques :- Modèle (couche métier)
- Afficher (calque d'affichage)
- Contrôleur (contrôle d'entrée)
Un modèle représente l'état d'un aspect particulier de l'application. Un contrôleur gère les interactions et met à jour le modèle pour refléter un changement d'état de l'application, puis transmet les informations à la vue. Une vue reçoit les informations nécessaires du contrôleur et affiche une interface utilisateur pour présenter ces informations.
En avril 2009, le code source d'ASP.NET MVC a été publié sous la licence publique Microsoft (MS-PL).
« Le framework ASP.NET MVC est un framework de présentation léger et hautement testable, intégré aux fonctionnalités ASP.NET existantes. Parmi ces fonctionnalités intégrées figurent les pages maîtres et l’authentification basée sur les membres. Le framework MVC est défini dans l’assembly System.Web.Mvc. »
Le framework ASP.NET MVC associe les modèles, les vues et les contrôleurs à l'aide de contrats basés sur des interfaces , permettant ainsi de tester chaque composant indépendamment.Scott Guthrie a annoncé sur son blog que Microsoft avait publié une partie de sa pile Web (y compris ASP.NET MVC, Razor et Web API) sous une licence open source ( licence Apache 2.0 ).
Guthrie a écrit que « cela permettra un modèle de développement plus ouvert où chaque membre de la communauté pourra participer et donner son avis sur les modifications de code, les corrections de bogues, le développement de nouvelles fonctionnalités, et construire et tester les produits quotidiennement en utilisant la version la plus récente du code source et des tests. »
Le code source se trouve désormais sur CodePlex . ASP.NET Web Forms n'a pas été inclus dans cette initiative pour diverses raisons.
Historique des versions
| Date | Version |
|---|---|
| 10 décembre 2007 | ASP.NET MVC CTP |
| 13 mars 2009 | ASP.NET MVC 1.0 |
| 16 décembre 2009 | ASP.NET MVC 2 RC |
| 4 février 2010 | ASP.NET MVC 2 RC 2 |
| 10 mars 2010 | ASP.NET MVC 2 |
| 6 octobre 2010 | ASP.NET MVC 3 Beta |
| 9 novembre 2010 | ASP.NET MVC 3 RC |
| 10 décembre 2010 | ASP.NET MVC 3 RC 2 |
| 13 janvier 2011 | ASP.NET MVC 3 |
| 20 septembre 2011 | Aperçu pour développeurs d'ASP.NET MVC 4 |
| 15 février 2012 | ASP.NET MVC 4 Beta |
| 31 mai 2012 | ASP.NET MVC 4 RC |
| 15 août 2012 | ASP.NET MVC 4 |
| 30 mai 2013 | ASP.NET MVC 4 4.0.30506.0 |
| 26 juin 2013 | Aperçu d'ASP.NET MVC 5 |
| 23 août 2013 | ASP.NET MVC 5 RC 1 |
| 17 octobre 2013 | ASP.NET MVC 5 |
| 17 janvier 2014 | ASP.NET MVC 5.1 |
| 10 février 2014 | ASP.NET MVC 5.1.1 |
| 4 avril 2014 | ASP.NET MVC 5.1.2 |
| 22 juin 2014 | ASP.NET MVC 5.1.3 |
| 1er juillet 2014 | ASP.NET MVC 5.2.0 |
| 28 août 2014 | ASP.NET MVC 5.2.2 |
| 9 février 2015 | ASP.NET MVC 5.2.3 |
| 12 février 2018 | ASP.NET MVC 5.2.4 |
| 2 mai 2018 | ASP.NET MVC 5.2.5 |
| 11 mai 2018 | ASP.NET MVC 5.2.6 |
| 29 novembre 2018 | ASP.NET MVC 5.2.7 |
| 12 avril 2022 | ASP.NET MVC 5.2.8 |
| 31 mai 2022 | ASP.NET MVC 5.2.9 |
| 23 octobre 2023 | ASP.NET MVC 5.3.0 (Actuel) |
structure du projet
.cshtmlet .vbhtml/ou des pages Web Forms .aspxpour concevoir la mise en page des pages d'interface utilisateur sur lesquelles les données sont composées. Cependant, d'autres moteurs de vues peuvent être utilisés. De plus, au lieu du modèle de publication par défaut d'ASP.NET Web Forms , les interactions sont acheminées vers les contrôleurs à l'aide du mécanisme de routage ASP.NET . Les vues peuvent être associées à différentes URL . Autres moteurs de rendu :
- La bibliothèque MVCContrib contient 8 moteurs de rendu alternatifs : Brail, NDjango, NHaml, NVelocity, SharpTiles, Spark, StringTemplate et XSLT.
- Le moteur de vues StringTemplate utilise un portage .NET du moteur de modèles Java, StringTemplate.
- Spark est un moteur de vue pour les frameworks ASP.NET MVC (et Castle Project MonoRail).
- NDjango est un portage du langage de modèles du framework web Django vers .NET. Il est écrit en F# et est fourni avec une extension Visual Studio incluant une prise en charge complète d'IntelliSense.
- Naked Objects pour .NET est une implémentation du modèle d'objets nus utilisant ASP.NET MVC.