Réglez l'élément sélectionné dans dropdownlist dans MVC3
- Je régler l'élément sélectionné pour une dropdownlist en vue. Mais sa ne fonctionne pas.
//Afficher
<div class="editor-label">
@Html.LabelFor(model => model.Gender)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Gender,Model.GenderList)
</div>
//Modèle
[Required(ErrorMessage = "Please select gender!")]
[Display(Name = "Gender")]
public string Gender { get; set; }
public IEnumerable<SelectListItem> GenderList
{
get
{
return new[]
{
new SelectListItem { Value = "0", Text = "Select" },
new SelectListItem { Value = "1", Text = "Male" },
new SelectListItem { Value = "2", Text = "Female" },
};
}
}
Le genre de propriété a la valeur doit être sélectionnée dans la liste. Toujours pas de travail.
Où je me trompe?
- Montrez-nous votre Obtenir une action qui définit la valeur de Modèle.Sexe
- Êtes-vous de mettre "1" ou "homme" dans le Genre? Il convient de le nombre. Aussi, vous ne devriez pas faire, Sélectionnez un élément dans la liste. Vous devriez plutôt utiliser le paramètre de DropDownListFor qui vous permet de définir la partie non sélectionnée texte.
- Oui j'ai essayé d'attribuer le texte. Maintenant sa fonctionne bien. Merci.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, créez votre ViewModel.
Ensuite, votre contrôleur crée une nouvelle instance de ce Dernier et l'envoie à la vue.
Enfin, la vue affiche le dropdownlist à l'aide de la ASP.NET wrapper [Html.DropDownListFor()][1].
La valeur sélectionnée est automatiquement choisie en fonction du ViewModel. Il n'est pas nécessaire de régler manuellement la Sélectionné propriété des objets SelectListitem.
La
SelectListItem
type a un Sélectionné de la propriété, vous avez besoin est d'true
sur l'élément que vous souhaitez définir comme sélectionné.Vous pouvez soit définir statiquement comme suit:
Ou énumérer plus de la collection pour correspondre avec
Gender
valeur: