2009-10-30 7 views
3

Le lien suivant explique les modèles de l'éditeur: http://weblogs.asp.net/scottgu/archive/2009/07/31/asp-net-mvc-v2-preview-1-released.aspxASP.NET MVC 2 modèles Editor

Ce que je veux savoir est si j'ai un modèle d'éditeur pour un menu déroulant, comment est la valeur initiale réglée?

J'ai une chute vers le bas et j'utiliser la Html.EditorFor (c => c.Country, « CountryDropDown »)

Mais toujours par défaut le premier élément sélectionné dans la liste ... des idées?

Répondre

0

Je pense, vous devez créer un viewdata, ou créer un viewmodel pour inclure la liste de sélection passant à la liste déroulante. Par exemple, dans votre action de contrôleur, vous devez faire qqch comme ceci:

//get your item for editing here i.e named itemToEdit 
    //get your country collection here 

     ArrayList countryList=New ArrayList; 
     foreach (Country c In YourCountryCollection) 
{   countryList.Add(New With {.Item = c.CountryName, .value = c.CountryID}) 
} 
    Viewdata("CountryList")=New SelectList(countryList, "Value", "Item", itemToEdit.countryID)} 

maintenant à votre avis, au lieu d'utiliser html.editorfor, vous devez uuse les éléments suivants: Html.Editor (« CountryLis », " CountryDropDown ")

Cela devrait définir votre dropdownlist avec la valeur sélectionnée. Espérons que cette aide.