开发者问题收集

在 Kendo MVC Grid ClientTemplate 上,案例绑定字段中的输出备用字段为空

2014-11-11
685

我在 kendo 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) _

无论空值比较的结果如何,单元格每次都呈现为空白。我肯定忽略了一些显而易见的东西!

1个回答

#...# 模板标记仅执行 JS,但不输出任何内容。

相反,请尝试 #:...##=...# ,它们都会将值输出回 HTML,或者使用此模板:

#if(data.Line.Months[0].Message == null) {##:data.Line.Months[0].Total##} else {##:data.Line.Months[0].Message##}#

(在 1 行上看起来很奇怪,但如果插入换行符,它会更有意义:)

#if(data.Line.Months[0].Message == null) {#
  #:data.Line.Months[0].Total#
#} else {#
  #:data.Line.Months[0].Message#
#}#

我认为这个模板也可能有效:

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

它将使用空合并运算符在 Message 为 false 的情况下使用 Total

CodingWithSpike
2014-11-11