Columns.Bound无法解析符号';绑定';

本文关键字:绑定 符号 Bound Columns | 更新日期: 2023-09-27 18:24:28

我有一个网页,它有一些Kendo控件,如下拉菜单和按钮,可以成功工作,但添加网格会导致问题。

 @(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方法显示为带有工具提示的红色字体无法解析符号"Bound"Stuff的属性(例如.FirstColumn)也显示为带有类似消息的红色。

编译错误

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

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

这个问题首先出现在另一个项目中,所以作为一个测试,我创建了一个新的Telerik项目,并只添加了复制问题所需的最小值,希望新创建的项目能突出原来的项目失败的地方。没有这样的运气。

提前谢谢。

Columns.Bound无法解析符号';绑定';

如果你像这样传递模型,它需要是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()
)

您还可以传递以下模型:

 @(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()
        )