【发布时间】:2013-06-09 15:14:09
【问题描述】:
我有一个 ASP.NET MVC4 应用程序。 我的视图从我的控制器获得一个列表。 我想用 lambda 表达式选择这些列表,但出现以下错误:
如果不先将 lambda 表达式转换为委托或表达式树类型,则不能将其用作动态分派操作的参数
List<project.Models.LAYER> layers = new List<project.Models.LAYER>();
layers = @Model.layers.Select(x => x.KONT == "EUROPE");
@Model.layers 是一个列表
现在我尝试了:但同样的错误:
@{
List<project.Models.LAYER> layers = Model.layers.Where(x => x.KNOT == "EUROPE").ToList();
}
【问题讨论】:
-
你确定这段代码可以编译吗?您不需要这里的 @ 符号,它会从 HTML 切换到 C# 表达式(并返回到表达式的末尾)。但是您提取的代码是纯 C#(无需切换)。此外,你为什么给
layers分配一个新的空列表并立即为其分配另一个值? -
Model.layers是一个什么样的列表?是List<project.Models.LAYER>吗?可能不是因为错误消息表明某处涉及动态类型。
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor