2009-05-11 8 views

Répondre

42

Réglez simplement "Value" et "Key" pour dataValueField et dataTextField. Vous pouvez soit le faire dans votre vue elle-même ou à partir de votre action (n'ont pas testé le code ci-dessous).

 
var targets = new Dictionary<string, string>(); 
targets.Add("Key", "Value"); 

ViewData["MyList"] = new SelectList(targets, "Key", "Value"); 
+0

J'ai compris, merci pour votre aide. –

+0

@David: la déclaration propose: public class Dictionary . Par conséquent, je recommande de changer la clé et les valeurs, et enfin: new SelectList (target, "Key", "Value"); –

+0

@Bolt Thunder: mise à jour. – David

2

Eh bien, IDictionary hérite de IEnumerable donc vous devriez être en mesure de passer ce dictionnaire à l'un des constructeurs pour SelectList.

+2

Vous devez cependant passer la propriété Values ​​au lieu de simplement IDictionary. Si vous passez juste l'IDictionary, vous obtiendrez des paires clé/valeur au lieu des valeurs. –

+1

Veuillez poster le code que vous utilisez afin que nous puissions l'utiliser pour tester. –

+1

@ Meta-Knight Vous avez normalement besoin des touches pour une liste de sélection. Sauf si vous n'utilisez pas de données normalisées ... – ProfK

Questions connexes