2010-07-06 2 views
2

j'ai une vue mvc asp.net avec le code suivant pour afficher la liste déroulante:Pourquoi ma valeur sélectionnée apparaître deux fois dans une dropdownlist (asp.net mvc)

<% = Html.DropDownList("filter", Model.MyList, Model.MyDefaultValue, new { @id = "filter", @class = "complete" })%> 

Model.MyList est un Liste avec mes articles et un vide en haut et Model.MYDefaultValue est une chaîne.

Quand je lance cela, il semble que cela fonctionne, mais je reçois mon défaut répertorié deux fois

laisse ainsi dire ma liste est:

Ford
Toyota
Chevy

et mon La valeur par défaut est Toyota

lorsque ic lécher sur le menu déroulant je reçois:

Toyota

Ford
Toyota
Chevy

vous voyez Toyota a été ajouté comme premier élément et le 4ème article .

+3

Juste une supposition: 'default' est la première valeur. Pas la valeur SÉLECTIONNÉE. (donc, je suppose que vous êtes en train de définir la première valeur et qu'il existe peut-être un attribut SELECTED séparé qui peut être défini dans le contrôle) –

+0

@DA - vous avez raison. . pourquoi mettre votre réponse dans un commentaire par rapport à une réponse – leora

Répondre

2

La méthode Html.DropDownList() accepte un paramètre de chaîne optionLabel , dont le texte est inséré en haut de la liste déroulante (avec une valeur vide). Cela n'a pas nécessairement à voir avec quel élément de la liste est sélectionné.

Vous pouvez créer un SelectList en utilisant votre MyList et spécifiez une valeur sélectionnée (voir SelectList Constructor) avant de passer à Html.DropDownList().

Questions connexes