2009-03-04 5 views
2

Voici ce que j'ai dans le contrôleur:Comment puis-je obtenir un DropDown pour avoir une valeur sélectionnée lorsque j'affiche le formulaire dans asp.net mvc?

IList<LocationInFacility> locs = LocationsInFacility(custCodeID); 
ViewData["LocationsInFacility"] = new SelectList(locs, "ID", "Name", "DL"); 

Voici la vue:

<label>Location in Facility</label> 
<%= Html.DropDownList 
     ("LocationsInFacility",(SelectList)ViewData["LocationsInFacility"]) %> 

Voici la sortie html, je me serais attendu à « DL » à choisir, mais ce n'est pas:

<select id="LocationsInFacility" name="LocationsInFacility"> 
<option value="">-- Select a Location in Facility --</option> 
<option value="DL">DELI</option> 
<option value="BK">BAKERY</option> 
</select> 

Pourquoi "DL" n'est-il pas sélectionné? Qu'est-ce que je fais mal?

Répondre

1

La solution est de changer le Html.DropDownList à:

<%= Html.DropDownList("LocationsInFacility") %> 
-2

DL est-il une chaîne dans les données LocationsInFacility? Vous devrez peut-être passer la valeur sinon, plutôt que l'équivalent ToString

+0

« DL » est la valeur pour Deli. Voir le code HTML ci-dessus. Voulez-vous dire passer le mot "Deli" à la place? –

+0

voir ceci http://ayende.com/Blog/archive/2008/11/11/and-yet-another-asp.net-mvc-bug.aspx –

Questions connexes