Bonjour,
J'ai crée un controller AuteurController qui comporte deux actions de même nom AjouterAuteur : l'une permet l'affichage de saisie d'un auteur, l'autre permet le post d'un auteur en BDD.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 public ActionResult AjouterAuteur() { VM_Auteur auteur = new VM_Auteur(); return View("AjouterAuteur", auteur); } [HttpPost] public ActionResult AjouterAuteur(VM_Auteur auteur) { if (ModelState.IsValid) { context.Auteurs.Add(auteur); context.SaveChanges(); return RedirectToAction("GetAll"); } else { //si saisie erronée , retour à la même vue , pour resaisie d'un VM_Auteur return View("AjouterAuteur", auteur); } }//fin de l'action AjouterAuteur
Dans la vue _layout.cshtml, j'ai crée un dropdown avec des liens vers les differentes actions du controller AuteurController
Comment expliquer que le lien vers l'action AjouterAuteur est bien le lien vers le post du nouvel auteur en BDD et pas l'action d'affichage pour la saisie d'un auteur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2"> <ul class="nav navbar-nav"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Auteurs<span class="caret"></span></a> <ul class="dropdown-menu" role="menu"> <li><a href="~/Auteur/GetAll">Catalogue des auteurs</a></li> <li class="divider"></li> <li><a href="~/Auteur/AjouterAuteur">Ajouter un auteur</a></li> <li class="divider"></li> <li><a href="">Modifier un auteur</a></li> <li class="divider"></li> <li><a href="">Supprimer un auteur</a></li> </ul> </li>
Par ailleurs, ~ , dans le chemin <a href="~/Auteur/AjouterAuteur">~ représente la racine de l'application web .
Merci de me dire si la racine de l'application web est bien le repertoire où le fichier .sln est stocké (ex: le repertoire \e_bibliotheque_MVC)ou s'il s'agit du lien http://localhost:50646
Merci beaucoup de votre aide.
Bien cordialement.
new_wave
Partager