Saltar al contenido

Lista desplegable de Asp.net mvc usando ViewBag

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *