Asp.net mvc 使用LINQ对SelectListItem的列表进行排序
我正在尝试使用LINQ对SelectListItem的列表进行排序,但没有成功Asp.net mvc 使用LINQ对SelectListItem的列表进行排序,asp.net-mvc,linq,sorting,Asp.net Mvc,Linq,Sorting,我正在尝试使用LINQ对SelectListItem的列表进行排序,但没有成功 For Each item In query brandCategoryList.Add(New SelectListItem With { .Text = FriendlyCategory(item), .Value = item
For Each item In query
brandCategoryList.Add(New SelectListItem With {
.Text = FriendlyCategory(item),
.Value = item
})
Next
brandCategoryList.OrderBy(Function(m) m.Text)
我做错了什么?结果将按原始顺序返回,就像未调用OrderBy函数一样。提前谢谢 怎么样
brandCategoryList = query.Select(Function(x) new SelectListItem With {
.Text = FriendlyCategory(item),
.Value = item}).OrderBy(Function(m) m.Text).ToList();
怎么样
brandCategoryList = query.Select(Function(x) new SelectListItem With {
.Text = FriendlyCategory(item),
.Value = item}).OrderBy(Function(m) m.Text).ToList();
您可以使用
Sort()
brandCategoryList.Sort(函数(a,b)a.Text
您可以使用Sort()
brandCategoryList.Sort(函数(a,b)a.Text
对于我来说,使用Linq对SelectItemList进行排序的最简单方法是:
brandCategoryList.OrderBy(x => x.Text);
如果你想按文本排序
如果要按值排序,则为相同但为x。值:
brandCategoryList.OrderBy(x => x.Value);
对我来说,使用Linq对SelectItemList排序的最简单方法是:
brandCategoryList.OrderBy(x => x.Text);
如果你想按文本排序
如果要按值排序,则为相同但为x。值:
brandCategoryList.OrderBy(x => x.Value);
代码似乎是正确的,这正是问题所在?我的意思是,实际和期望的输出是什么?OrderBy不会对列表进行排序,它会返回一个有序的IENUEMRABLEES,OrderBy不会编辑源列表。您可能需要创建一个新的
brandCategoryList=brandCategoryList.OrderBy(函数(m)m.Text).ToList()
请参阅我的答案以了解替代的就地排序方法brandCategoryList=brandCategoryList.OrderBy(函数(m)m.Text).ToList()返回以下错误:无法将类型为“System.Linq.OrderedEnumerable2[System.Web.Mvc.SelectListItem,System.String]”的对象强制转换为类型System.Collections.Generic.List
1[System.Web.Mvc.SelectListItem]”。代码似乎正确,这正是问题所在?我的意思是,实际和期望的输出是什么?OrderBy不会对列表进行排序,它会返回一个有序的IENUEMRABLEES,OrderBy不会编辑源列表。您可能需要创建一个新的brandCategoryList=brandCategoryList.OrderBy(函数(m)m.Text).ToList()
请参阅我的答案以了解替代的就地排序方法brandCategoryList=brandCategoryList.OrderBy(函数(m)m.Text).ToList()返回以下错误:无法将类型为“System.Linq.OrderedEnumerable2[System.Web.Mvc.SelectListItem,System.String]”的对象强制转换为类型System.Collections.Generic.List
1[System.Web.Mvc.SelectListItem]'。此操作有效,但按降序返回已排序的列表。嗯。现在要将其改为升序?只需颠倒顺序以升序排列brandCategoryList.sort(函数(a,b)b.Text>a.Text)感谢所有帮助过它的人!很抱歉,我使用了
而不是,这很有效,但按降序返回了已排序的列表。嗯。现在要将其改为升序?只需颠倒顺序以升序排列brandCategoryList.sort(函数(a,b)b.Text>a.Text)感谢所有帮助过它的人!对不起,我用了
而不是