Columns.Bound无法解析符号' Bound'

时间:2014-09-26 03:12:25

标签: c# asp.net-mvc-4 kendo-ui kendo-grid kendo-asp.net-mvc

我有一个网页,其中包含一些Kendo控件,例如下拉列表和按钮,但是添加 Grid 会导致问题。

 @(Html.Kendo().Grid(Model).Name("grid").Columns(columns =>
  {
      columns.Bound(stuff => stuff.FirstColumn).Width(200);
      columns.Bound(stuff => stuff.SecondColumn).Width(200);
      columns.Bound(stuff => stuff.HiddenColumn).Hidden;
      columns.Bound(stuff => stuff.ThirdVisibleColumn).Width(200);
  })
  .Pagable()
  .Sortable()
  )

在设计时,.Bound方法以红色字体显示工具提示无法解析符号' ,以及 Stuff (例如.FirstColumn)也是红色的,带有类似的消息。

编译错误

描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。

编译器错误消息:CS1977:无法将lambda表达式作为动态调度操作的参数,而不先将其转换为委托或表达式树类型

这个问题首先出现在另一个项目中,因此作为测试我创建了一个新的Telerik项目,并添加了重现问题所需的最低要求,希望新创建的项目能够突出显示原始项目失败的位置。没有这样的运气。

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果你像这样传递模型,它需要是IEnumerable(或类似)类型。

这对我有用:

@model IEnumerable<SomeModel>
@(Html.Kendo().Grid(Model)
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(stuff => stuff.FirstColumn).Width(200);
        columns.Bound(stuff => stuff.SecondColumn).Width(200);
        columns.Bound(stuff => stuff.HiddenColumn).Hidden();
        columns.Bound(stuff => stuff.ThirdVisibleColumn).Width(200);
    })
    .Pageable()
    .Sortable()
)

答案 1 :(得分:0)

你也可以通过以下模型:

 @(Html.Kendo().Grid<SomeModel>().Name("grid")
              .DataSource(src => src.Ajax().Read(read => read.Action("Action", "Controller"))
              .Columns(col =>
              {
                  col.Bound(e => e.Name);
                  col.Bound(e => e.Age);
                  col.Bound(e => e.ID);
              })
              .Selectable()
              .Scrollable()
        )