我在Kendo网格中具有以下客户端模板:
.Columns(columns =>
{
columns.Bound(p => p.ID).ClientTemplate("<input id='#=data.ID#' type='checkbox' onclick='chkEntry(this)' />")
等...
那很好。相反,我想仅在data.CandidateCode等于'CO1'时显示该输入。
这是我的尝试之一:
.Columns(columns =>
{
columns.Bound(p => p.ID).ClientTemplate("#if (# #=data.CandidateCode# # == 'CO1') {#<input id='#=data.ID#' type='checkbox' onclick= chkEntry(this)' /> #}#")
据我了解,人们可以使用井号(#)来表示任意javascript,以及文字和数据值。我在正确的轨道上吗?无论我如何尝试使用此语法,都会出现“未捕获的错误:无效的模板”错误。
答案 0 :(得分:2)
是的,hash syntax可能很棘手。一旦以'#“开头的js,就不需要进一步转义变量了。当您像<input>
这样的标记时,就可以这样做。因此,请在没有注释行的情况下尝试以下操作:
columns.Bound(p => p.ID)
// Inside code no need to hashtag CandidateCode
.ClientTemplate("# if (CandidateCode == 'CO1') { #" + "
// Inside markup you do need hashtag
"<input id='#=ID#' type='checkbox' onclick='chkEntry(this)' />" +
"#}#")