Tag: dynamic data

如何构建IEnumerable .Contains()表达式?

我目前正在使用ASP动态数据,我正在尝试构建一个filter。 我们的用户需要根据项目是否是所选父项的子项来查找列表中的项目(我们的项目可以包含多个父项)。 有问题的项目是Segments,每个Segment都有一个名为RouteIds的属性,类型为IEnumerable,它是所有Segment的父ID的集合。 我已经在我的filter中覆盖了GetQueryable方法,但是我一直在显示的最后一行抛出exception: ConstantExpression ce = Expression.Constant(int.Parse(this.ddlRouteNames.SelectedValue)); ParameterExpression pe = Expression.Parameter(source.ElementType); MemberExpression me = Expression.Property(pe, this.Column.Name); var callExpression = Expression.Call(typeof(Enumerable), “Contains”, new Type[] { me.Type }, ce, me); 想法是用户从DropDownList中选择适当的Route然后我会检查Segment的RouteIds属性是否包含该Route的Id。 有关如何使其工作的任何指示? 编辑 – 以下是例外情况: 类型’System.Linq.Enumerable’上没有generics方法’Contains’与提供的类型参数和参数兼容。 如果方法是非generics的,则不应提供类型参数。