[英]SelectList Not Coming Back Sorted - C# MVC 3
所有,
我正在嘗試對我的選擇列表項進行排序,然后將默認列表項添加到列表中,例如“選擇以下項”,然后通過一種方法返回該列表。 我注意到列表沒有被排序,因為按照ReSharper的說法,它看起來需要返回排序的結果-因此我的方法沒有返回排序的列表。
有沒有辦法在該方法中進行排序和添加?
這是我所擁有的:
public static IEnumerable<SelectListItem> GetBuildingClubs(List<BuildingClub> localClubs, List<BuildingClub> psfyClubs)
{
var buildingClubList = new List<SelectListItem>();
IEnumerable<BuildingClub> allBuildingClubs = localClubs.Union(psfyClubs);
foreach (BuildingClub b in allBuildingClubs)
{
buildingClubList.Add(new SelectListItem
{
Value = b.MasterCustomerId,
Text = b.NewBuildingClubName
});
}
//Sort list
buildingClubList.OrderBy(c => c.Text);
//Prepend to sorted list
buildingClubList.Insert(0, new SelectListItem
{
Value = "",
Text = "Select an Item Below"
});
return buildingClubList;
}
OrderBy
不會修改輸入列表。 它返回一個新的排序序列。 您需要存儲該序列並使用它來構建列表:
buildingClubList = buildingClubList.OrderBy(c => c.Text).ToList();
或者,對項目進行排序,然后再將它們添加到列表中:
IEnumerable<BuildingClub> allBuildingClubs = localClubs.Union(psfyClubs).OrderBy(b => b.NewBuildingClubName);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.