网格列ClientTemplate无法正常工作

时间:2012-12-07 23:28:48

标签: kendo-ui

我有一个Hierarchy样式的Kendo网格,内部网格似乎不接受客户端模板。 (我删除了与网格配置列无关的代码)
我真的希望客户端模板是这样的         <a title="#=AlarmStatusDescription#">#=AlarmStatus#</a>但是当我在ClientTemplate中放入除简单字符串之外的任何内容时,整个网格都无法加载。

我试过

  • .ClientTemplate("#:AlarmStatus#")
  • .ClientTemplate("#=AlarmStatus#")
  • .ClientTemplate("<div class="myclass"></div>"),单独<script type="text/html" id="myclass">#=AlarmStatus#</script>

    @(Html.Kendo().Grid<AccountModel>()

                .Name("Accounts_#=Id#")
                .Columns(columns =>
                             {
    
    columns.Command(command => command.Custom("Details").Click("showDetails")).Width(75);
    columns.Bound(o => o.AccountName).Width(150);                  
    columns.Bound(o => o.AlarmStatus).Width(100).ClientTemplate("#:AlarmStatus#");`
    
                                 })
                    .DataSource(dataSource => dataSource
                        .Ajax()
                        .Model(model =>{model.Id(p => p.AccountId);})
                        .Read(read => read.Action("DetailRead", "Csr", new { personId = #=Id#" }))
                    )
                    .Editable(editable => editable.Mode(GridEditMode.PopUp))
                    .ToClientTemplate()
            )
    

2 个答案:

答案 0 :(得分:18)

你需要逃避尖锐的符号 - 外网的其他方式将尝试评估这个“#:AlarmStatus#”表达式。而且由于很可能没有像外网格的AlarmStatus这样的字段(它是内部网格的属性)会有一个例外。如果你像这样逃避它,外网格应该跳过客户端模板,并由内部网格正确评估。

.ClientTemplate("\\#= AlarmStatus \\#")

我希望你有这个想法

答案 1 :(得分:1)

您应该使用:.ClientTemplate("#= AlarmStatus #")。我认为您错过了引号"