Kendo MVC Grid ClientTemplate将导致“字段未定义”

时间:2016-01-21 03:18:49

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

我有一个剑道MVC网格,其读取动作可以成功完成

@(Html.Kendo().Grid<MyModel>()
  .Name("Name")
  .AutoBind(false)
  .Columns(columns =>
  {
    ...
    columns.Bound(c => c.ItemCode).ClientTemplate("#= ItemCode #").Title("Item").Width(300);
  })
  .Pageable(page =>
  {
    page.Enabled(true);
  })
  .Scrollable(s => s.Height(400))
  .Sortable(s => s.Enabled(false))
  .Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("MaterialFormEditor").Window(w => { w.Title(""); w.Width(700); }).DisplayDeleteConfirmation(false))
  .DataSource(dataSource => dataSource
  .Ajax()
  .PageSize(20)
  .Model(model => model.Id(p => p.JobNo))
  .Read(read => read.Action(...)
  .ServerOperation(true)
  )
)

  public class MyModel
    {
        public string ItemCode;
    }

(上面的代码是简化的,所以ClientTemplate内容只是字段值本身,但问题仍然可以重现)

现在的问题是,当我点击“添加新记录”按钮时,会出现一个javascript错误,并且不会弹出任何窗口。

错误说:Uncaught ReferenceError: ItemCode is not defined

然而,当我删除.ClientTemplate()时,一切顺利。

错误的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:0)

老问题,我知道...

我遇到了类似的问题,必须添加反斜杠才能使其正常工作:

    columns.Bound(c => c.ItemCode).ClientTemplate("\\#= ItemCode \\#").Title("Item").Width(300);