MVC4: как отсортировать этот список/выпадающий список

Я работаю с MVC4.

У меня есть следующий dropdownlist/selectlist:

@Html.DropDownList("EmployerID", String.Empty)
ViewBag.EmployerID = new SelectList(db.Employers, "EmployerID", "Name", contact.EmployerID);

и я хочу, чтобы этот dropdownlist/selectlist сортировался по "Name". Что мне делать?

Большое спасибо!:)

2 ответа

Добавьте OrderBy к вашему db.Employers

@Html.DropDownList("EmployerID", String.Empty)
ViewBag.EmployerID = new SelectList(db.Employers.OrderBy(x => x.Name), 
 "EmployerID", "Name", contact.EmployerID);


Я думал, что поделюсь этим решением, с которым я столкнулся, если у других будет такая же проблема, как у меня. Im работает с дженериками, и поэтому я не могу заказать свой источник до создания SelectList. Однако вы можете заказать созданный SelectList. Я все еще хотел, чтобы мой метод возвращал SelectList, поэтому я вызываю SelectList() второй раз, используя в качестве источника упорядоченный SelectList.:)

var orderedSelectList = new SelectList(source, "YourValueFieldName", "YourTextFieldName", selectedCode).OrderBy(i => i.Text);
return new SelectList(orderedSelectList, "Value", "Text", selectedCode);

licensed under cc by-sa 3.0 with attribution.