2

我有一个层次风格的剑道网格,内部网格似乎不接受客户端模板。(我剥离了代码无关的网格配置列)
我真的希望客户端模板类似于 <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()
            )
    
4

2 回答 2

18

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

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

我希望你有这个想法

于 2012-12-09T18:09:03.917 回答
1

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

于 2012-12-08T00:17:38.047 回答