簡體   English   中英

SelectList不回來排序-C#MVC 3

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM