Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

144
Vistas
¿Cómo hago para que mi lista desplegable esté en orden alfabético para mi proyecto en MVC?

Necesito que los elementos de mi menú desplegable se muestren en orden alfabético. El siguiente es el código:

 <select id="participantIds" data-placeholder="Select Participants" class="chosen-select" multiple style="width:100%;" tabindex="4" asp-for="UserIds" asp-items="@(new SelectList(ViewBag.Users, "Id", "Name"))">
He intentado hacerlo con `OrderBy pero parece que no funciona para `ViewBag`. ¿Cómo lo hago con JavaScript o Jquery?

Mi ViewBag es de:

 this.ViewBag.Users = await this._eventSessionService.GetAllUsers(eventSessionId);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Dado que ViewBag es dinámico, no puede utilizar Orderby u otros métodos en una propiedad dinámica.

Ahora, suponiendo que su ViewBag.Users es de List<Users> , puede convertir la propiedad en una colección de tipo conocido y el método de extensión debería estar disponible.

 <select id="participantIds" data-placeholder="Select Participants" class="chosen-select" multiple style="width:100%;" tabindex="4" asp-for="UserIds" asp-items="@(new SelectList((ViewBag.Users as List<Users>).OrderBy(x=>x.Name), "Id", "Name"))">

Una alternativa es ordenar la lista en el controlador antes de asignarla a ViewBag :

 var userList = await this._eventSessionService.GetAllUsers(eventSessionId); this.ViewBag.Users = userList.OrderBy(x=>x.Name);

También puede usar JQuery para ordenar nuestra lista después de que se haya inicializado:

 var myList = $('#participantIds'); var selected = myList.val(); var opts_list = myList.find('option'); opts_list.sort(function(a, b) { return $(a).text() > $(b).text() ? 1 : -1; }); myList.html('').append(opts_list); myList.val(selected);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda