2009-05-11 15 views

Respuesta

42

Simplemente configure "Value" y "Key" para dataValueField y dataTextField. Puede hacer esto en su propia Vista o desde su acción (no ha probado el código a continuación).

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

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

Lo tengo, gracias por la ayuda. –

+0

@David: la declaración propone: public class Dictionary . Por lo tanto, recomiendo cambiar clave y valores, y finalmente: nueva lista de selección (objetivos, "clave", "valor"); –

+0

@Bolt Thunder: actualizado. – David

2

Bueno, IDictionary hereda de IEnumerable por lo que debe ser capaz de pasar ese diccionario a uno de los constructores para SelectList.

+2

Sin embargo, debe pasar la propiedad Values ​​en lugar de solo IDictionary. Si acaba de pasar IDictionary obtendrá pares clave/valor en lugar de los valores. –

+1

Por favor, publique el código que está utilizando para que podamos usar eso para probar. –

+1

@ Meta-Knight Normalmente también necesita las claves para una lista de selección. A menos que no esté usando datos normalizados ... – ProfK

Cuestiones relacionadas