Bonjour,
pour persister un nouveau utilisateur dans ma base de données j'ai ajouté une méthode de type GET inscrireUser() dans le controlleur pour construire la formulaire puis j'ai ajouté une autre méthode qui va être appelé lors de l'envoi des données au serveur (Méthode avec l'annotation POST)
le problème que je suis pas arrivée à comprendre comment envoyer la valeur sélectionné dans une liste de choix de sexe par l'utilisateur.
bon j'ai pu le construire lors de GET mais une erreur se déclenche lors de l'envoi de formulaire
pour être plus claire voila mon code
c'est la méthode invoquée lors la demande de la page d'ajout de nouveau utilisateur
c le formulaire ou j'ai ajouté mon DropDownListFor
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 public ActionResult inscrireUser() { userProfile user = new userProfile(); ViewData["Genders"] = new SelectList(new List<String> { "Male", "Female" },user.profilegender); //List<String> { "Male", "Female" }; return View(user); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult inscrireUser(userProfile user) { try { db.AddTouserProfile(user); db.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } }
et le serveur déclenche cet érreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <% using (Html.BeginForm()) {%> <%: Html.ValidationSummary(true) %> <td><%: Html.Label("sexe") %></td> <td><%= Html.DropDownListFor(model => model.profilegender, ViewData["Genders"] as SelectList, Model.profilegender)%></td> <td><%: Html.ValidationMessageFor(model => model.profilegender) %></td> </tr> <p> <input type="submit" value="S'inscrire" /> </p> <% } %>
Server Error in '/' Application.
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'profilegender'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'profilegender'.
Source Error:
Line 27: <tr>
Line 28: <td><%: Html.Label("sexe") %></td>
Line 29: <td><%= Html.DropDownListFor(model => model.profilegender , ViewData["Genders"] as SelectList)%></td>
Line 30: <td><%: Html.ValidationMessageFor(model => model.profilegender) %></td>
Line 31: </tr>
Source File: c:\Documents and Settings\Mongi\Mes documents\Visual Studio 2010\Projects\MvcApplication6\MvcApplication6\Views\User\inscrireUser.aspx Line: 29
Partager