4

我正在使用 MVC4。

我有以下下拉列表/选择列表:

@Html.DropDownList("EmployerID", String.Empty)

ViewBag.EmployerID = new SelectList(db.Employers, "EmployerID", "Name", contact.EmployerID);

我希望这个下拉列表/选择列表按“名称”排序。我应该怎么办?

非常感谢!:)

4

2 回答 2

7

添加OrderBy到您的db.Employers

@Html.DropDownList("EmployerID", String.Empty)

ViewBag.EmployerID = new SelectList(db.Employers.OrderBy(x => x.Name), 
    "EmployerID", "Name", contact.EmployerID);
于 2013-05-27T05:44:29.420 回答
3

我想我会分享我提出的这个解决方案,以防其他人遇到与我相同的问题。我正在使用泛型,因此我无法在创建 SelectList 之前订购我的源代码。但是,您可以订购生成的 SelectList。我仍然希望我的方法返回一个 SelectList,所以我使用有序的 SelectList 作为源再次调用 SelectList()。:)

var orderedSelectList = new SelectList(source, "YourValueFieldName", "YourTextFieldName", selectedCode).OrderBy(i => i.Text);
return new SelectList(orderedSelectList, "Value", "Text", selectedCode);
于 2014-09-03T13:47:27.483 回答