您的位置:首页 > 其它

微软MVC页面使用Lambda表达式-错误笔记

2016-10-31 15:48 363 查看
一看到这个错误:
“先将 lambda 表达式强制转换为委托或表达式树类型,则无法将该表达式用作动态调度的操作的参数”
误以为,微软的MVC页面不能写Lambda表达式:
第一版这么写的:
ViewBag.ResultList.Where(p => p.CompanyName == item).ToList();

直接就报刚才那个错误提示了。仔细检查代码没有问题。再次运行,依旧报错。无奈,搜一下错误吧。无解,没查到任何有用信息。
后面仔细分析了一下。应该是ViewBag.XXX本身是个动态表达式,可能问题在这里。
<tr>
<td>状态</td>
@foreach (var item in companyNameList)
{
List<ResponseResult> bindResultList = ViewBag.ResultList;
var result = bindResultList.Where(p => p.CompanyName == item).ToList();
if (result.Count == 1)
{
<td>@result[0].IsPolicyFlag</td>
}
else
{
<td>-</td>
}
}
</tr>


运行,OK。就是这里了。解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: