我已经尝试了这个的各种版本,但我只是离开了某个地方。我正在使用Teleric Raddropdowncheckedlist
var states = stateDropDownList.CheckedItems.ToList();
var filteredStops = (from stop in aDb.Stop_address_details
where states.Contains(stop.Stop_state) select stop).ToList();
States包含IL、AL等数组。以下是来自各州的示例数据-在调试器中,它说各州计数3,它有3个元素0=AZ, 1=IL和2=AL。
stop_address_details包含stop_state字段。
我只需要在状态中包含stop_state的记录。
我没有得到一个结果,因为它不会构建错误:此lambda表达式的参数数量与委托的参数数量不匹配。
解决方案:
var states = stateDropDownList.CheckedItems.Select(i => i.Value.ToString()).ToList();
var filteredStops = (from stop in aDb.Stop_address_details where states.Contains(stop.Stop_state) select stop).ToList();
原始状态返回的是一个项目数组,而不是字符串。谢谢你的帮助。乔
试试这样写:
var states = stateDropDownList.CheckedItems.Select(i=>i.Value.ToString()).ToList();
i.Value
位非常依赖于您正在使用的下拉列表。如果CheckedItems是一个自定义集合类型,也不实现标准接口,则不能保证工作。