Необходимо отсортировать элементы по алфавиту в выпадающем списке

#asp.net-mvc-3 #drop-down-menu #viewbag

#asp.net-mvc-3 #выпадающее меню #viewbag

Вопрос:

вот в чем «проблема», мне нужно упорядочить элементы выпадающего списка в алфавитном порядке…

это мое мнение

 <label for="Contenido">Reparticion</label>  
<div class="control">
    <%: Html.DropDownList ("reparticionId", (SelectList)ViewBag.ReparticionIdSelectList)%>            
</div>
<div class="spacer"></div>
<label>Depósito</label>  
<div class="control">
    <%: Html.DropDownList("deposito", (SelectList)ViewBag.DepositoIdSelectList)%>            
</div>
<div class="spacer"></div>
  

вот мой viewbag в контроллере…

 private void CargarControlesReparticion() {
    //Crear listado de Reparticion
    this.ViewBag.ReparticionListado = new SelectList(ReparticionNegocio.Listado(), "ReparticionId", "Descripcion");
}

private void CargarControlesDeposito() {
    //Crear Listado Deposito
    this.ViewBag.DepositoListado = new SelectList(DepositoNegocio.Listado(), "DepositoId", "Nombre");
 }
  

есть идеи??? Спасибо…

Ответ №1:

используйте LINQ для сортировки элементов в вашем списке

 var sortedList = (from entry in ReparticionNegocio.Listado() orderby entry.Value ascending select entry);
this.ViewBag.ReparticionListado = new SelectList(sortedList, "ReparticionId", "Descripcion");
  

Комментарии:

1. Привет, Эранга… Это не сработало… Я написал строку и заменил значение на «Описание»… и список по-прежнему отображается в неправильном порядке… есть еще идеи??? Спасибо…

2. какой тип объектов возвращается вашим Listado() методом?

3. строки из таблицы базы данных.