MVC DropDownList valeur sélectionnée ne fonctionne pas
Je suis en utilisant MVC 5.
J'ai mon ViewBag pour la liste que
ViewBag.TitleList = new SelectList((new string[] { "Mr", "Miss", "Ms", "Mrs" }), contact.Title);
//contact.Title has selected value.
ensuite, j'ai essayé de convertir le tableau de SelectListItem ( to no avail)
Sur la Vue, il ressemble à
@Html.DropDownListFor(model => model.Title, ViewBag.TitleList as SelectList, "Select")
aussi j'ai essayé
@Html.DropDownList("Title", ViewBag.TitleList as SelectList, "Select")
La liste se charge correctement, mais le Selected Value is Not selected
.
Comment Résoudre ce problème?
Mise à jour
Le coupable était ViewBag.Titre correspondant à mon modèle.Titre. Renommé mon modèle de propriété de quelque chose d'autre et cela a fonctionné. Arrgh!
À l'aide de
Oui la valeur dans le Titre correspond avec ceux qui sont dans la liste
Peut-être que c'est un doublon de ce post. [Double][1] [1]: stackoverflow.com/questions/5858679/...
Je vous remercie pour votre mise à jour. J'ai passé 30 minutes demandais pourquoi mon Titre déroulante n'a pas été Sélectionné. Je ne savais pas que cela était un problème avant aujourd'hui, je vous remercie!
@Html.DropDownListFor()
si la valeur de model.Title
est (dire) "Miss", puis la 2ème option est sélectionnée (vous n'avez pas besoin de la 2ème paramètre dans le SelectList
constructeur). Vérifier que la valeur de Title
correspond exactement à l'une des valeurs de l'option.Oui la valeur dans le Titre correspond avec ceux qui sont dans la liste
Peut-être que c'est un doublon de ce post. [Double][1] [1]: stackoverflow.com/questions/5858679/...
Je vous remercie pour votre mise à jour. J'ai passé 30 minutes demandais pourquoi mon Titre déroulante n'a pas été Sélectionné. Je ne savais pas que cela était un problème avant aujourd'hui, je vous remercie!
OriginalL'auteur Ruchan | 2014-11-13
Vous devez vous connecter pour publier un commentaire.
Valeur de consigne de la
Title
propriété dans le contrôleur:Une autre raison possible (et le bon, sur la base des observations ci-dessous), c'est que
ViewData["Title"]
est remplacée par une autre valeur. Pour modifier le nom de laTitle
de propriété à tous les autres et tout devrait fonctionner.Title
a déjà de la valeur pendant le chargement. il fait partie de modifier la méthode.ensuite, la valeur de
Title
ne correspond pas à un de ces 4 valeurs (peut-être vérifier blanc de l'espace), ou que vous essayez de faire cela dans une boucleEst-il une chance que vous êtes définir le titre de la page en utilisant
Title
comme une clé:ViewBag.Title = "Edit"
? Essayez de changer le nom de la propriété à une autre.Je pensais la même chose et a changé le modèle de nom de propriété et essayé, mais toujours le même
Ok, à la fin, il a finalement été le ViewBag.Titre..... tellement en colère maintenant. Modifier votre réponse afin que je puisse choisir comme corrects.
OriginalL'auteur Zabavsky
Lorsqu'une valeur n'est pas spécifiée (c'est à dire "Id"), DropDownListFor parfois ne pas se comporter correctement. Essayez ceci:
EDIT: d'autres sololution
OriginalL'auteur Jose M.