2009-10-07 7 views
3

J'ai un modèle d'interface utilisateur pour la propriété ShopID dans ma classe Order. Au lieu d'afficher le ShopID en entier dans mon menu déroulant, je veux pouvoir afficher le nom du magasin de ma classe Shop, mais quand je reviens à la méthode du contrôleur, je veux toujours que la classe Order ait le ShopID sélectionné.Modèle d'interface utilisateur ASP.NET MVC DropDownList

Comment est-ce que je ferais ceci?

+0

J'utilise le nouveau aperçu de 2 mvc –

Répondre

3

Pour obtenir une liste déroulante permettant d'afficher des éléments de texte mais de renvoyer un ID numérique, vous devez lui transmettre une liste SelectList via votre modèle.

public SelectList Shops 
{ 
    get 
    { 
     var list = 
      from shop in myDataContext.Shops 
      Select shop; 

     return new SelectList(list, "ShopID", "ShopDescription"); 
    } 
} 

Alors, selon vous:

<%= Html.DropDownList("ShopID", Model.Shops) %>