partialview net mvc how asp asp.net-mvc asp.net-mvc-3 razor viewdata

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"))