【发布时间】:2015-07-30 12:07:21
【问题描述】:
几天前我问了一个问题,关于如何使用基于索引的解决方案通过记录向网页添加分页。
我需要能够使用两个参数来更改订单列表的排序:strSortBy 和 strSortDirection。
我正在尝试使用 IQueryable 查询:
query = temporders.AsQueryable.OrderBy(strSortBy + " " + strSortDirection)
但我收到一个错误:
Unable to cast object of type 'System.Linq.EnumerableQuery`1[Order]' to type 'System.Collections.Generic.List`1[Order]'.
行:
orderList.Items = query
这是我的向上(下一步)按钮代码:
Dim temporders As System.Collections.Generic.List(Of Order) = orderList.Items
If Not temporders Is Nothing And Not String.IsNullOrEmpty(strSortBy) Then
Dim query As IQueryable = Nothing
query = temporders.AsQueryable.OrderBy(strSortBy + " " + strSortDirection)
orderList.Items = query
End If
我在作业中做错了什么?任何指导表示赞赏。
谢谢。
更新
我更改了我的代码,因此我将 OrderBy 应用于 oderList.Items,而不是应用于 tempOrders
orderList.Items.AsQueryable.OrderBy(strSortBy + " " + strSortDirection)
更新
我能够让它这样工作:
orderList.Items = orderList.Items.AsQueryable.OrderBy(strSortBy + " " + strSortDirection).ToList
【问题讨论】:
-
orderList.Items的类型是什么? -
orderList 声明:Dim orderList As Orders。通过查看对象定义,我认为它是字符串类型的。