Telerik MVC网格错误

时间:2011-10-24 18:17:45

标签: asp.net-mvc-3 telerik telerik-grid

编译器错误消息: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()));
    }

2 个答案:

答案 0 :(得分:2)

这是我的疏忽,视图的返回类型是Viewmodel的类型,而不是来自服务模型的模型。

答案 1 :(得分:0)

你的模型中有一些动态,不是吗。错误告诉C#无法从动态分派的操作中创建表达式。

如果要将Telerik Grid for ASP.NET MVC绑定到动态模型检查this代码库项目。