为什么我不能将Func<MyModel,bool>
类型的参数从Html.Action
传递给我的Controller
?当我尝试以下代码时,会出现如下错误:
public PartialViewResult MyMethod(Func<MyModel,bool> lambda)
{
}
在Razor:
@{var result = Html.Action("MyMethod", "MyController" , new { lambda = c => !c.Checked});}
错误:
无法将lambda表达式分配给匿名类型属性。
这不是一个重复的问题,因为这个问题是在寻找为什么会发生这种情况,但我正在寻找一个解决方案。
发布于 2021-06-02 21:36:17
@{ var result = Html.Action("MyMethod", "MyController", new { lambda = new Func<Model,bool>( c => !c.Checked) }); }
您可以通过在构造函数中传递lambda来分配新的Func类型对象。不允许将lambda或匿名方法分配给匿名属性,因为从lambda或匿名方法中我们无法明确推断委托的类型。
https://stackoverflow.com/questions/45596132
复制相似问题