Bienvenido a proyecto on line, ahora vas a hallar la solucíon a lo que estás buscando.
Solución:
Tendrías que crear un SelectList
en la acción del controlador usando uno de los constructores disponibles y, a la vista, simplemente pase el método DropDownList como parámetro.
En el controlador haz esto:
ViewBag.Organisations = new SelectList(db.Organisations.ToList(),"Id","Organisation");
en SelectList
necesitamos especificar qué propiedad usar como value
y cual usar como text
en el option
etiqueta que estamos especificando en los dos últimos parámetros.
y luego en View necesitarías usarlo de esta manera:
@Html.DropDownList("Organization",ViewBag.Organisations as SelectList)
Aquí el primer parámetro se usaría como nombre de select
elemento y el segundo se utilizará para rellenar el option
elementos en el select
A continuación se muestra la lista de sobrecargas disponibles para Html.DropDownList
:
https://msdn.microsoft.com/en-us/library/system.web.webpages.html.htmlhelper.dropdownlist%28v=vs.111%29.aspx?f=255&MSPPError=-2147217396
Te recomiendo que definas un ViewModel para tu página con un OrganisationId
propiedad. Por lo tanto, este valor se completará al seleccionar una entrada de la lista desplegable de organizaciones.
@model BCO.Models.SelectOrganisationViewModel
@
ViewBag.Title = "OrganisationInfo";
@Html.DropDownListFor(o => o.OrganisationId,
new SelectList(ViewBag.Organisations, "Id", "Name"))
El SelectList mismo espera
- la lista para llenar el DropDownList con
- el valor (“Id”)
- el texto (“Nombre”)
como parámetros.
Puede usar la lista de selección de viewbag de la siguiente manera
@Html.DropDownListFor(m => m.Name, ViewBag.GetData as SelectList, new @class = "form-control" )
aquí ViewBag.GetData se completa desde el controlador, el código del controlador debería ser como
ViewBag.GetData = new SelectList(repository.GetOrganisation(), "ID", "OraganizationName");
Reseñas y puntuaciones del post
Te invitamos a añadir valor a nuestra información aportando tu experiencia en los informes.