Vb.net Kendo MVC Grid ClientTemplate上大小写绑定字段中的输出替换字段为空

Vb.net Kendo MVC Grid ClientTemplate上大小写绑定字段中的输出替换字段为空,vb.net,kendo-ui,kendo-grid,kendo-asp.net-mvc,Vb.net,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我在剑道MVC网格中有一个单元格,我想根据其中一个的值从两个数据字段中选择一个: @(Html.Kendo().Grid(Of RTFVM)().Name("RealTimeFinancials") _ .Columns(Sub(c) c.Bound(Function(x) x.Line.LineItem).HtmlAttributes(New With {.style = "text-align:left"}) c.Bo

我在剑道MVC网格中有一个单元格,我想根据其中一个的值从两个数据字段中选择一个:

@(Html.Kendo().Grid(Of RTFVM)().Name("RealTimeFinancials") _
 .Columns(Sub(c)
                  c.Bound(Function(x) x.Line.LineItem).HtmlAttributes(New With {.style = "text-align:left"})
                  c.Bound(Function(x) x.Line.Months(0).Total).Format("0:#,##0}").ClientTemplate("#if(data.Line.Months[0].Message == null) {data.Line.Months[0].Total} else {data.Line.Months[0].Message} #")

          End Sub) _

无论空比较的结果如何,单元格每次都呈现为空白。我一定错过了什么明显的东西

模板标记只执行JS,但不输出任何内容

相反,请尝试将值输出回HTML的
:…#
=…#
,或此模板:

#if(data.Line.Months[0].Message == null) {##:data.Line.Months[0].Total##} else {##:data.Line.Months[0].Message##}#
(在1行上看起来很奇怪,但如果要插入换行符,则更有意义:)

我认为这个模板也可以工作:

#: data.Line.Months[0].Message ?? data.Line.Months[0].Total #

消息
为假的情况下,将使用空合并运算符来使用
Total

您是否尝试从ClientTemplate中的属性中删除
数据。
?Kendo MVC在引用模型模式时似乎使用了“data”对象(在查看mvc包装器生成的JS时可以看到)。使用“数据”对下面的答案进行编码似乎也很有效。非常好!非常有效,谢谢。我一直在努力理解#、#=和#:之间的区别。为了将来参考,3之间的区别记录在这里:
#: data.Line.Months[0].Message ?? data.Line.Months[0].Total #