在 MVC 中工作了几个月后,我回到了以前编写的 WebForms 3.5 应用程序中,我正在尝试用我学到的东西来修复我所能做的事情。
其中一部分是“具有局部视图的强类型模型”概念,这非常棒。通过继承我的自定义“ListTemplate”控件,我可以使用它的 GetModel() 方法来获得类似这样的东西:
<% List<Models.CaseStudy> model = GetModel<Models.CaseStudy>(); %>
然后我可以在模型上运行一个 foreach ,一切都很开心。但是,我想做一个分组,所以我添加了对:
<%@ Import Namespace="System.Linq" %>
<%@ Import Namespace="System.Linq.Expressions" %>
然后,使用稍微不太理想的语法,尝试了这个:
<% IEnumerable<IGrouping<string, Models.CaseStudy>> model = GetModel<Models.CaseStudy>().GroupBy(e => e.Client.Name); %>
但不是!“编译器错误消息:CS1525:无效的表达式术语'>'” - 它似乎是错误的 lambda。如果我将 GroupBy() 放在 foreach 参数中,它也不起作用。
有没有办法让 lambda 在 ASCX 文件中工作?