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é:
public string Gender { get; set; }
J'ai du côté de mon AccountController la méthode suivante (que j'essaie de compléter):
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:
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?
Partager