具有多个参数的kendo grid mvc客户端模板

时间:2014-03-25 20:05:08

标签: kendo-grid kendo-asp.net-mvc

这是网格:

this.Html.Kendo().Grid<Model>()
      .Name("grid")
      .Filterable()
      .ColumnMenu()
      .Sortable()
      .Groupable()
      .Columns(col =>
      {
          col.Bound(x => x.CompanyId).Visible(false);
          col.Template(x => x.CompanyName).ClientTemplate(Html.ActionLink("#= CompanyName #>", "Update", "AppCompany", new { id = "#= CompanyId #", panel = 1 }, null).ToHtmlString()).Width(120);
      })
      .Pageable(pageable => pageable
          .ButtonCount(5)
          .Info(true))
      .DataSource(dataSource => dataSource
          .Ajax()
          .PageSize(25)
          .Read(read => read.Action("GetData", "EmployeeHistory").Data("sendAntiForgery")))

我正在尝试使用CompanyName和CompanyId来呈现ActionLink。

col.Template(x =&gt; x.CompanyName).ClientTemplate(Html.ActionLink(“#= CompanyName#&gt;”,“更新”,“AppCompany”,新{id =“#= CompanyId #“,panel = 1},null)。ToHtmlString())。宽度(120);

当网格渲染时,我在javascript中收到此错误:

未捕获的ReferenceError:未定义companyid

CompanyId在nav属性中有几个域模型级别,但是我已经使用Deflattening设置了映射,因此Kendo知道在哪里可以找到它进行排序/分组等。

问题是,我怎样才能让它发挥作用?

谢谢!

麦克

1 个答案:

答案 0 :(得分:0)

有两点需要注意。我最近更新了剑道,但没有更新css和js文件。我只更新了解决方案中的dll。

其次,VM属性引用了一些可能为null的DM导航属性。我认为这导致Kendo网格无法像我想的那样挂钩我的CompanyId。

我现在使用它同时使用CompanyName和CompanyId