我有两个从数据库填充的列表框(可用项和选定项)。我可以在这些列表之间添加和删除via按钮,但是当我从Selected列表中删除时,该项目将转到Available列表的底部。它没有按字母顺序排列。所以我尝试了Linq选项。
这是我得到的错误:
hibernatespatial.org
代码:
Unable to cast object of type 'System.Linq.OrderedEnumerable2[System.Object,System.Object]' to type 'System.Collections.Generic.IEnumerable1[System.Web.UI.WebControls.ListItem]'.
答案 0 :(得分:1)
由于ListItemCollection
返回的Items
仅实现IEnumerable
而非IEnumerable(Of ListItem)
,因此您应该在查询中添加Cast
。在清除LINQ查询之前,您还需要使用ToList()
或强制查询评估的其他内容,因为LINQ查询会被延迟评估,否则列表将在您的查询被评估之前被清除!
myQuery = (
From result In Available.Items.Cast(Of ListItem)() _
Select result _
Order By result.Text Ascending
).ToList()
您可能还想转Option Strict On
以帮助查找其他内容
编译时的问题。