1. - James RAVAILLE
Eléments du modèle MVC
avec ASP .NET MVC Core
Spécialiste de la formation et de l’ingénierie avec la plateforme Microsoft .NET
2. - James RAVAILLE
PRÉSENTATION
Le modèle de développement MVC est composé de trois éléments :
Contrôleur
Vue
Modèle
Implémente les traitements et définit les
données métiers de l’application, ainsi
que les contraintes de données
Afficher les données aux
utilisateurs et permet à
l’application d’interagir avec eux
Traite les requêtes HTTP en exécutant des
actions (méthodes)
3. - James RAVAILLE
LE MODÈLE
Ensemble de classes (langages .NET - C# )
• Implémentées par le développeur
• Générées, par exemple avec le Framework Entity
4. - James RAVAILLE
LES CONTRÔLEURS
Les contrôleurs contiennent des méthodes, appelées des actions, qui
sont exécutées après le routage d’une requête HTTP
• Le routage est une opération qui consiste à déterminer à partir d’une URL, une
action d’un contrôleur (en tenant compte du nombre variable de paramètres)
public class CompteController : Controller
{
public IActionResult Detail(int? id)
{
Compte oCompte = null;
if (!id.HasValue)
{
return this.BadRequest();
}
oCompte = Compte.GetInstance(id.Value);
if (oCompte == null)
{
return this.NotFound();
}
return View(oCompte);
}
}
Cette action permet d’afficher le détail d’un compte
5. - James RAVAILLE
LES VUES
Les vues sont exécutées par le moteur de génération de vues, appelé
Razor. Lors de cette exécution, le code Razor qu’elles contiennent est
exécuté afin de générer du code dans la page Web
• Utilisation des HTML Helpers
• Utilisation des TAG Helpers
@model Models.Banques.Compte
@{ ViewData["Title"] = "Detail"; }
<h2>Detail</h2>
<div>
<h4>Compte</h4>
<hr />
<dl class="dl-horizontal">
<dt>@Html.DisplayNameFor(model => model.Libelle)</dt>
<dd>@Html.DisplayFor(model => model.Libelle)</dd>
<dt>@Html.DisplayNameFor(model => model.MontantAutorisationDecouvert)</dt>
<dd>@Html.DisplayFor(model => model.MontantAutorisationDecouvert)</dd>
<dt>@Html.DisplayNameFor(model => model.Solde)</dt>
<dd>@Html.DisplayFor(model => model.Solde)</dd>
</dl>
</div>
<div>
@Html.ActionLink("Edit", "Edit", new { /* id = Model.PrimaryKey */ }) |
<a asp-action="Index">Back to List</a>
</div>
Code Razor (C#)
HTML Helpers
TAG Helpers