Bonjour,

Je recontre actuellement quelques soucis en essayant de créer un formulaire d'enregistrement pour mon site web.

Quand je tombe sur ma page d'enregistrement (Account/Register) je tombe à chaque fois sur l'exception suivante:
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'Gender'.
Pour info j'ai une classe User qui possède la propriété:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public string Gender { get; set; }
J'ai du côté de mon AccountController la méthode suivante (que j'essaie de compléter):
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
[HttpPost]
        public ActionResult Register(string Gender, User user)
        {
            List<SelectListItem> genders = new List<SelectListItem>();
            genders.Add(new SelectListItem() { Text = "Homme" , Value = "Homme"});
            genders.Add(new SelectListItem() { Text = "Femme" , Value = "Femme"});
 
            ViewData["Gender"] = new SelectList(genders);
 
            if (ModelState.IsValid)
            {
                db.Users.Add(user);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
 
        }
Du côté de ma vue Register:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<div class="editor-label">
            @Html.LabelFor(model => model.Gender)
        </div>
        <div class="editor-field">
            @*@Html.EditorFor(model => model.Gender)*@
            @Html.DropDownList("Gender")
            @Html.ValidationMessageFor(model => model.Gender)
        </div>
Par quel moyen pourrais-je récupérer la sélection de l'utilisateur dans vue parmi les 2 sexes possibles, sans générer ce type d'exception, et ainsi l'ajouter à mon attribut de classe Gender?