我有一个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()
)
答案 0 :(得分:18)
你需要逃避尖锐的符号 - 外网的其他方式将尝试评估这个“#:AlarmStatus#”表达式。而且由于很可能没有像外网格的AlarmStatus这样的字段(它是内部网格的属性)会有一个例外。如果你像这样逃避它,外网格应该跳过客户端模板,并由内部网格正确评估。
.ClientTemplate("\\#= AlarmStatus \\#")
我希望你有这个想法
答案 1 :(得分:1)
您应该使用:.ClientTemplate("#= AlarmStatus #")
。我认为您错过了引号"
。