asp.net mvc - net - Llenar un menú desplegable de ViewData
viewdata asp net mvc (3)
Puede usar el asistente de html DropDownList :
@Html.DropDownList("SelectedEmployee",
new SelectList((IEnumerable) ViewData["tempEmpList"], "Id", "Name"))
En el constructor SelectList
puede especificar qué propiedades de la clase Employee
deben usar como texto y el valor en el menú desplegable (por ejemplo, "Id", "Nombre").
El nombre del menú desplegable ( "SelectedEmployee"
) se usará cuando publique nuevamente sus datos en el servidor.
Tengo viewdata en mi controlador que está poblado por una lista:
List<employee> tempEmpList = new List<employee>();
tempEmpList = context.employees.ToList();
ViewData["tempEmpList"] = tempEmpList;
y estoy pasando esto en mi opinión, la pregunta es, ¿cómo coloco el contenido de la lista de viewdata en una lista desplegable?
Los datos de visualización serán .name
del elemento de la lista.
Sé que podría hacer un foreach
en Viewdata y crear una lista de selección, pero esto parece un poco largo aliento
Configure su ViewData
de la manera normal, asignando un nombre de clave que se correlacione con una propiedad de su modelo que se vinculará a Post
...
ViewData["ModelPropertyName"] = new SelectList(...)
Luego, en su vista, simplemente agregue un Html.DropDownList
...
@Html.DropDownList("ModelPropertyName")
Por favor prueba con eso. Lo he intentado con MVC5
@Html.DropDownList("SelectedEmployee", new SelectList((System.Collections.IEnumerable) ViewData["tempEmpList"],"id","Name"))