20-3 Vue d'affichage du formulaire d'inscription
Pour afficher le formulaire, il nous faut évidemment une vue!
Comme on utilise l'action New
pour afficher le formulaire, une vue Views/Comptes/New.cshtml
y sera associée.
- Créer un dossier
Comptes
sous le dossierViews
du projetWeb.Mvc
. - Créer une vue
New
sousViews/Comptes
viaAdd
->Razor MVC View with Layout
. Vous pouvez retirer la ligne en lien avec le_Layout
et y associer le bonViewModel
.Snowfall.Web.Mvc/Views/Comptes/New.cshtml@model Snowfall.Web.Mvc.Models.Comptes.CreerCompteViewModel
@{
ViewBag.Title = "Créer un compte";
}
<div class="row">
<div class="col-md-6 offset-md-3">
<h1 class="mb-3">Créer un compte</h1>
</div>
</div>
Vous remarquez peut-être que le nom du modèle est précédé du namespace
. En soi, ce n'est pas un problème, mais si vous voulez raccourcir le tout, ajoutez @using Snowfall.Web.Mvc.Models.Comptes
à Snowfall.Web.Mvc/Views/_ViewImports.cshtml
:
//...
@using Snowfall.Web.Mvc.Models.Comptes
//...
Ce qui vous permettra de simplifier la portion @model
de la vue comme ceci:
@model CreerCompteViewModel
//...
En adoptant cette approche, assurez vous que vos ViewModel
aient tous des noms uniques afin d'éviter les collisions de noms.
Il ne s'agit en aucun cas d'une obligation, ni même d'une bonne ou d'une mauvaise pratique. Simplement une question de préférence.
Retourner la vue via le contrôleur
Maintenant qu'une vue est disponible pour l'action New
(créer un compte), on peut retourner la vue via View()
dans le contrôleur, plutôt que Ok()
.
// GET /comptes/new
[HttpGet("[action]")]
public IActionResult New()
{
return View();
}