我正在使用MVC4。MVC4:如何對此選擇列表/下拉列表進行排序
我有這個下拉列表如下/選擇列表的:
@Html.DropDownList("EmployerID", String.Empty)
ViewBag.EmployerID = new SelectList(db.Employers, "EmployerID", "Name", contact.EmployerID);
,我想這個下拉列表/選擇列表的由「姓名」進行排序。我該怎麼辦?
非常感謝! :)
我正在使用MVC4。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);
謝謝你的答案。但是,這並不起作用。選擇列表仍然按EmployerID排序。 – user2423801
舊的線程,但如果這不適合你,也許你更新你的控制器的POST方法,而不是GET方法? –