1

我一直在努力寻找一种方法来做到这一点。我在 asp.net 中有一个列表框,我使用它看起来像:

<asp:ListBox ID="lstLinkedProspect" runat="server" SelectionMode="Multiple" />

我想要做的是能够选择我在特定表中的所有项目,除了列表框中的项目。不仅是选定的,而且所有已经在列表中的项目。我使用 System.Linq.Dynamic 库。这是我正在尝试做的事情:

Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value), "ProspectId > 0", SearchFilters.Value).ToString) _
                                                .Except(' There goes all the items in the list box)

我已经尝试过的是:

Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value), "ProspectId > 0", SearchFilters.Value).ToString) _
                                                .Except(lstLinkedProspect.Items.Cast(Of ListItem)().Where(Function(x) x.Value).Cast(Of Beans.Prospect))

是否可以在 Linq 中获取不在列表框中的表中的所有项目?请注意,列表框中 ListItem 的 Value 属性是 ProspectId。

提前致谢。

4

1 回答 1

1

这是我找到的实现我想要的代码:

Dim lstItems = dbConnection.Prospects.Where(Function(x) ids.Contains(x.ProspectId))
Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value),
"ProspectId > 0", SearchFilters.Value).ToString).Except(lstItems)

希望这可以帮助任何努力解决这个问题的人。

于 2013-11-04T18:49:29.447 回答