asp.net-mvcDémarrer avec asp.net-mvc


Remarques

Le modèle d'architecture MVC (Model-View-Controller) sépare une application en trois composants principaux: le modèle, la vue et le contrôleur. Le framework ASP.NET MVC offre une alternative au modèle ASP.NET Web Forms pour la création d'applications Web. Le framework ASP.NET MVC est un framework de présentation léger et hautement testable qui (comme avec les applications Web Forms) est intégré aux fonctionnalités ASP.NET existantes, telles que les pages maîtres et l'authentification basée sur l'appartenance. Le framework MVC est défini dans l'assembly System.Web.Mvc.

Le framework MVC comprend les composants suivants:

  • Modèles . Les objets de modèle sont les parties de l'application qui implémentent la logique du domaine de données de l'application. Souvent, les objets de modèle extraient et stockent l'état du modèle dans une base de données. Par exemple, un objet Product peut extraire des informations d'une base de données, les utiliser, puis réécrire les informations mises à jour dans une table Products d'une base de données SQL Server. Dans les petites applications, le modèle est souvent une séparation conceptuelle plutôt que physique. Par exemple, si l'application lit uniquement un jeu de données et l'envoie à la vue, l'application ne comporte pas de couche de modèle physique et de classes associées. Dans ce cas, l'ensemble de données joue le rôle d'objet de modèle.
  • Vues Les vues sont les composants qui affichent l'interface utilisateur de l'application. En règle générale, cette interface utilisateur est créée à partir des données du modèle. Un exemple serait une vue d'édition d'une table Products qui affiche les zones de texte, les listes déroulantes et les cases à cocher en fonction de l'état actuel d'un objet Product.
  • Contrôleurs . Les contrôleurs sont les composants qui gèrent l'interaction de l'utilisateur, travaillent avec le modèle et sélectionnent finalement une vue à afficher qui affiche l'interface utilisateur. Dans une application MVC, la vue affiche uniquement les informations. le contrôleur gère et répond aux entrées et interactions de l'utilisateur. Par exemple, le contrôleur gère les valeurs de chaîne de requête et transmet ces valeurs au modèle, qui à son tour peut utiliser ces valeurs pour interroger la base de données.

Versions

Version Version .NET Date de sortie
MVC 1.0 .NET 3.5 2009-03-13
MVC 2.0 .NET 3.5 / 4.0 2010-03-10
MVC 3.0 .NET 4.0 2011-01-13
MVC 4.0 .NET 4.0 / 4.5 2012-08-15
MVC 5.0 .NET 4.5 2013-10-17
MVC 5.1 .NET 4.5 2014-01-17
MVC 5.2 .NET 4.5 2014-08-28
MVC 6.0 .NET 4.5 2015-11-18
Core MVC 1.0 .NET 4.5 2016-07-12
Core MVC 1.1 .NET 4.5 2016-11-18

Bonjour MVC!

ASP.NET MVC est un framework d'applications Web open source. MVC lui-même est un modèle de conception qui est construit autour de trois composants principaux: model-view-controller .

Modèle - Les modèles reflètent vos objets métier et permettent de transmettre des données entre les contrôleurs et les vues.

Affichage - Les vues sont les pages qui rendent et affichent les données du modèle à l'utilisateur. Les vues ASP.NET MVC sont généralement écrites à l'aide de la syntaxe Razor.

Controller - Les contrôleurs gèrent les requêtes HTTP entrantes provenant d'un client et retournent généralement un ou plusieurs modèles à une vue appropriée.

Les fonctionnalités ASP.NET MVC:

  1. Idéal pour développer des applications complexes mais légères
  2. Il fournit un cadre extensible et enfichable qui peut être facilement remplacé et personnalisé. Par exemple, si vous ne souhaitez pas utiliser le moteur Razor ou ASPX View Engine intégré, vous pouvez utiliser tout autre moteur d'affichage tiers ou même personnaliser les moteurs existants.
  3. Utilise la conception basée sur les composants de l'application en la divisant logiquement en composants Model, View et Controller. Cela permet aux développeurs de gérer la complexité des projets à grande échelle et de travailler sur des composants individuels.
  4. La structure MVC améliore le développement piloté par les tests et la testabilité de l'application, car tous les composants peuvent être conçus sur la base d'interfaces et testés à l'aide d'objets simulés. Par conséquent, ASP.NET MVC Framework est idéal pour les projets avec une grande équipe de développeurs Web.
  5. Prend en charge toutes les fonctionnalités ASP.NET existantes telles que l'autorisation et l'authentification, les pages maîtres, la liaison de données, les contrôles utilisateur, les adhésions, le routage ASP.NET, etc.
  6. Il n'utilise pas le concept de View State (qui est présent dans ASP.NET). Cela aide à créer des applications légères et à donner le contrôle total aux développeurs.

Application MVC simple

Nous allons créer une application MVC simple qui affiche les détails de la personne. Créez un nouveau projet MVC à l'aide de Visual Studio. Ajoutez le nouveau modèle nommé dossier Personne au modèles comme suit:

public class Person
{
    public string Surname { get; set; }
    public string FirstName { get; set; }
    public string Patronymic { get; set; }
    public DateTime BirthDate { get; set; }
}
 

Ajouter un nouveau contrôleur au dossier Contrôleurs:

public class HomeController : Controller
{
    //Action Method
    public ActionResult Index()
    {
        // Initialize model
        Person person = new Person
        {
            Surname = "Person_SURNAME",
            FirstName = "Person_FIRSTNAME",
            Patronymic = "Person_PATRONYMIC",
            BirthDate = new DateTime(1990, 1, 1)
        };

        // Send model to View for displaying to user
        return View(person);
    }
}
 

Ajoutez enfin View à / Views / Home / folder nommé Index.cshtml :

@* Model for this view is Person *@
@model Hello_MVC.Models.Person

<h2>Hello @Model.FirstName !</h2>

<div>
    <h5>Details:</h5>
    <div>
        @Html.LabelFor(m => m.Surname)
        @Html.DisplayFor(m => m.Surname)
    </div>
    <div>
        @Html.LabelFor(m => m.FirstName)
        @Html.DisplayFor(m => m.FirstName)
    </div>
    <div>
        @Html.LabelFor(m => m.Patronymic)
        @Html.DisplayFor(m => m.Patronymic)
    </div>
    <div>
        @Html.LabelFor(m => m.BirthDate)
        @Html.DisplayFor(m => m.BirthDate)
    </div>
</div>