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
Comptessous le dossierViewsdu projetWeb.Mvc.
- Créer une vue
NewsousViews/ComptesviaAdd->Razor MVC View with Layout. Vous pouvez retirer la ligne en lien avec le_Layoutet 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 @modelde 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();
}