使用LINQ对SelectListItem列表进行排序

时间:2013-05-24 15:38:08

标签: asp.net-mvc linq sorting

我正在尝试使用LINQ对SelectListItem列表进行排序,但没有成功。

 For Each item In query
            brandCategoryList.Add(New SelectListItem With {
                            .Text = FriendlyCategory(item),
                            .Value = item
                          })
        Next
        brandCategoryList.OrderBy(Function(m) m.Text)

我做错了什么?结果以原始顺序返回,就像未调用OrderBy函数一样。提前谢谢!

3 个答案:

答案 0 :(得分:0)

怎么样

brandCategoryList = query.Select(Function(x) new SelectListItem With {
                                             .Text = FriendlyCategory(item),
                                             .Value = item}).OrderBy(Function(m) m.Text).ToList();

答案 1 :(得分:0)

您可以使用Sort()

编辑列表
brandCategoryList.Sort(Function(a, b) a.Text < b.Text)

答案 2 :(得分:0)

对我来说,使用Linq对SelectItemList进行排序的最简单方法是:

brandCategoryList.OrderBy(x => x.Text);

如果您想按文字排序。

如果您想按值排序,则相同但是x.Value:

brandCategoryList.OrderBy(x => x.Value);