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

一看到这个错误:
“先将 lambda 表达式强制转换为委托或表达式树类型,则无法将该表达式用作动态调度的操作的参数”
误以为,微软的MVC页面不能写Lambda表达式:
第一版这么写的:
ViewBag.ResultList.Where(p => p.CompanyName == item).ToList();
直接就报刚才那个错误提示了。仔细检查代码没有问题。再次运行,依旧报错。无奈,搜一下错误吧。无解,没查到任何有用信息。
后面仔细分析了一下。应该是ViewBag.XXX本身是个动态表达式,可能问题在这里。
 			
                                状态
                                @foreach (var item in companyNameList)
                                {
                                    List bindResultList = ViewBag.ResultList;
                                    var result = bindResultList.Where(p => p.CompanyName == item).ToList();
                                    if (result.Count == 1)
                                    {
                                        @result[0].IsPolicyFlag
                                    }
                                    else
                                    {
                                        -
                                    }
                                }         
                            

运行,OK。就是这里了。解决了。

你可能感兴趣的:(C#,ASP.NET)