编译器错误消息:CS1977:在没有首先将其转换为委托或表达式树类型的情况下,不能将lambda表达式用作动态调度操作的参数
我正在使用此项目中的Respository模式,因此我通过服务调用而不是常规linq查询检索数据。我不确定他们的意思是将辩论交给代表或exp。树型。这是代码。
@(Html.Telerik().Grid(Model)
.Name("Grid").Columns(columns =>
{
columns.Bound(o => o.formId).Width(100);
columns.Bound(o => o.Name).Width(200);
//columns.Bound(o => o.ShipAddress);
//columns.Bound(o => o.OrderDate).Format("{0:MM/dd/yyyy}").Width(120);
})
.DataBinding(dataBinding =>
{
dataBinding.Server().Select("Index", "Grid", new { ajax = ViewData["ajax"] });
dataBinding.Ajax().Select("_Index", "Grid").Enabled((bool)ViewData["ajax"]);
})
.Scrollable(scrolling => scrolling.Enabled((bool)ViewData["scrolling"]))
.Sortable(sorting => sorting.Enabled((bool)ViewData["sorting"]))
.Pageable(paging => paging.Enabled((bool)ViewData["paging"]))
.Filterable(filtering => filtering.Enabled((bool)ViewData["filtering"]))
.Groupable(grouping => grouping.Enabled((bool)ViewData["grouping"]))
.Footer((bool)ViewData["showFooter"])
)
public ActionResult Index(bool? ajax, bool? scrolling, bool? paging, bool? filtering, bool? sorting,
bool? grouping, bool? showFooter)
{
ViewData["ajax"] = ajax ?? true;
ViewData["scrolling"] = scrolling ?? true;
ViewData["paging"] = paging ?? true;
ViewData["filtering"] = filtering ?? true;
ViewData["grouping"] = grouping ?? true;
ViewData["sorting"] = sorting ?? true;
ViewData["showFooter"] = showFooter ?? true;
return View(formService.GetForms());
}
[GridAction]
public ActionResult _Index()
{
return View(new GridModel(formService.GetForms()));
}
答案 0 :(得分:2)
这是我的疏忽,视图的返回类型是Viewmodel的类型,而不是来自服务模型的模型。
答案 1 :(得分:0)
你的模型中有一些动态,不是吗。错误告诉C#无法从动态分派的操作中创建表达式。
如果要将Telerik Grid for ASP.NET MVC绑定到动态模型检查this代码库项目。