我正在使用 MVC4。
我有以下下拉列表/选择列表:
@Html.DropDownList("EmployerID", String.Empty)
ViewBag.EmployerID = new SelectList(db.Employers, "EmployerID", "Name", contact.EmployerID);
我希望这个下拉列表/选择列表按“名称”排序。我应该怎么办?
非常感谢!:)
我正在使用 MVC4。
我有以下下拉列表/选择列表:
@Html.DropDownList("EmployerID", String.Empty)
ViewBag.EmployerID = new SelectList(db.Employers, "EmployerID", "Name", contact.EmployerID);
我希望这个下拉列表/选择列表按“名称”排序。我应该怎么办?
非常感谢!:)
添加OrderBy
到您的db.Employers
@Html.DropDownList("EmployerID", String.Empty)
ViewBag.EmployerID = new SelectList(db.Employers.OrderBy(x => x.Name),
"EmployerID", "Name", contact.EmployerID);
我想我会分享我提出的这个解决方案,以防其他人遇到与我相同的问题。我正在使用泛型,因此我无法在创建 SelectList 之前订购我的源代码。但是,您可以订购生成的 SelectList。我仍然希望我的方法返回一个 SelectList,所以我使用有序的 SelectList 作为源再次调用 SelectList()。:)
var orderedSelectList = new SelectList(source, "YourValueFieldName", "YourTextFieldName", selectedCode).OrderBy(i => i.Text);
return new SelectList(orderedSelectList, "Value", "Text", selectedCode);