Soy bastante nuevo en ASP.NET MVC y estoy tratando de encontrar la mejor manera de hacerlo. Probablemente sea simple, pero solo quiero hacer las cosas correctamente, así que pensé en preguntar.ASP.NET MVC - selección de lista desplegable - vistas parciales y enlace de modelo
Digamos que tengo un modelo que es la siguiente:
Tarea - Id, Descripción, AssignedStaffMember
miembro de personal - Id, Nombre, Apellido
y en mi punto de vista que desea crear una nueva tarea. Hago una vista Razor fuertemente tipada, y puedo usar EditorFor para crear cuadros de texto para la descripción, pero ¿qué pasa con AssignedStaffMember?
quiero una lista desplegable de todo el personal actual y tener la opción de seleccionar uno, entonces esto se sometió a un método de acción que es NewTask(string description, StaffMember assignedStaffMember)
eso o que podría tener un int para StaffID en lugar del objeto miembro de personal y búscalo en el método de acción.
¿Cuál es la mejor manera de hacerlo? Tengo que ir a la base de datos para obtener la lista de personal, por lo que aquí es lo que pensaba:
Hacer una vista parcial de la lista de caída personal de abajo, que será utilizado un par de veces y el uso
@Html.Action("ListStaff", "Staff")
a llámalo. El método de acción, entonces tienepublic ActionResult ListStaff() { IEnumerable<StaffMember> model = _serviceLayer.GetAllStaff(); return PartialView(model); }
Sin embargo no estoy seguro de cómo esto va a funcionar con el enlace de modelos, mi entendimiento es que tiene que tener el nombre correcto de la forma que lo presente, que había necesidad de pasar el nombre a la vista parcial para poner el elemento, supongo?
En lugar de tener que llamar a un controlador para obtener el personal, cree un modelo de vista que contenga mi tarea y una colección IEnumerable possibleStaff. posiblemente envíe esta información a una vista parcial.
a Html Helper?
¿Se puede usar el Editor de alguna manera?
¿cuál (o hay más) sería el mejor? y ¿cómo podría hacer el modelo de encuadernación?
+1 para el buen ejemplo Usted ha utilizado describir su problema :) Gracias a este –