ASP.NET MVC 4 de A à Z – Partie 4

Lors du précédent article : ASP.Net MVC 4 – Partie 3 nous avons vu comment créer une vue permettant d’afficher la liste des livres que nous avons créé.

Nous allons désormais découvrir comment ajouter de nouveaux livres via un formulaire de création.

Formulaire de création avec ASP.Net MVC 4

Afin de créer le formulaire de création d’un nouveau livre, placez-vous sur la méthode Create de la classe LivreController. Comme vous l’avez surement constaté, il y a 2 méthodes portant ce nom, une ne prenant aucun paramètre et l’autre prenant un objet FormCollection en paramètre, et qui est décoré par l’attribut HttpPost. Cet attribut permet de limiter l’accès à une action (donc une méthode) aux requêtes ayant été reçues via une requête POST et non GET.

Nous allons d’abord nous intéresser à la requête ne prenant pas de paramètre. Faites un clic droit->Add View

Menu_Add_View

Remplissez le formulaire de la manière suivante :

add_view

Validez le formulaire. A la fermeture du formulaire, une nouveau fichier Create.cshtml est généré par VS. Il s’agit de la vue qui sera appelée lors de la sélection de l’action Créer.

Appuyez sur F5 et cliquez sur l’action Créer. Vous remarquerez que le formulaire de création est déjà prêt à l’emploi. Les propriétés de notre objet ont été utilisées afin de générer les champs du formulaire. Vous noterez aussi que le type des propriétés est pris en compte : dans le champ Prix, une erreur s’affiche si vous tapez du texte. Malheureusement, si vous validez le formulaire, rien ne se passe Sad smile.

Action Ajouter

Afin de remédier à ce problème, nous allons maintenant nous intéresser à l’autre méthode Create. Pour commencer, nous allons modifier le type de l’objet passé en paramètre. Connaissant le type d’objet attendu, il nous est possible de typer l’objet en Livre.

Maintenant, si vous mettez un point d’arrêt à la méthode, vous allez pouvoir retrouver dans l’objet passé en paramètre les valeurs que vous aurez saisi dans le formulaire.

Il ne nous reste plus qu’à compléter notre liste de livre avec le livre passé en paramètre, puis d’appeler l’action Index qui se chargera de réafficher la liste des livres :

[HttpPost] public ActionResult Create(Livre nouveauLivre)
{
try
{
livres.Add(nouveauLivre);


return RedirectToAction("Index");
}
catch
{
return View();
}
}

Conclusion

Dans cet article nous avons appris qu’il nous était possible de créer des actions différentes suivant le type de requête : POST ou GET.

On a également pu remarquer que la création d’un formulaire de création est vraiment très aisée, quasiment aucune ligne de code n’aura été nécessaire à sa création.

Dans un prochain article nous allons découvrir comment créer le formulaire d’édition.

Pas de commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *