2010-07-28 15 views
0

Le client a une propriété Model qui nécessite une liste d'options sélectionnées séparées par des virgules. Nous présentons leur liste de sélection (DDL) comme une liste déroulante à choix multiple. À quoi ressemblerait le type de données de la propriété qui effectuerait une sélection automatique des sélections multiples dans la sélection du côté client (DDL) côté client?ASP.NET MVC 2: Quel type de données de la propriété Model va relier automatiquement un select html (DDL) avec plusieurs sélections?

Les sélectionnez données messages comme celui-ci:

myOptions=Volvo&myOptions=Mercedes&myOptions=Audi 

Et nous voulons lier automagiquement revenir à une propriété:

IList<string> CarChoices {get;set;} 

Ainsi, le paramètre de méthode d'action POST serait (Carform myForm) qui aurait myForm.CarChoices qui comprend une liste des trois voitures sélectionnées?

Répondre

1

Il est parfois plus facile de se salir les mains et de travailler avec le code HTML. Je suggère de faire quelque chose comme ceci:

<select multiple> 
    <% foreach(var item in Model){ %> 
     <option value="<%= item.ID %>"><%= item.Description %></option> 
    <% } %> 
</select> 

évidemment votre modèle est votre collection. Vous pouvez également utiliser l'objet ViewData ["Whatever"] pour transmettre des données, votre choix.

+0

C'est un bon début. Je pense que les données qui reviendraient seraient myOptions = Volvo & myOptions = Mercedes & myOptions = Audi. Comment retournerions-nous cet ensemble de valeurs dans une propriété Model (et à quoi cela ressemblerait-il?) –

+0

Ouais, quand ça reviendra, ça ressemblera à Volvo, Mercedes, Audi et ensuite vous devrez analyser que l'aide d'une fonction split ou autre. –

+1

donner à la liste de sélection un nom comme name = "CarSelections" puis dans votre contrôleur ajouter String CarSelections et vous verrez la liste –