Approved是我模型中的DateTime。 approvedDate是我Razor视图中的Datetime变量。脚本块位于相同的Razor视图中。
我想测试Approved以查看它是否在approvedDate之前,并将其替换为空字符串""如果是,则在x-kendo-template detail-template中。
@{ var approvedDate = DateTime.Parse("01-01-2016"); }
<script id="detail-template" type="text/x-kendo-template">
<ul>
< li>#if (# #= Approved # # < @approvedDate) {# ""#}else{# #= kendo.toString(Approved, "MM-dd-yyyy") # #}#</li>
</ul>
</script>
上述语法导致detail-template脚本失败。
使if语句有效的语法是什么?
答案 0 :(得分:0)
有两个问题,一个是语法,在条件语句中使用了Razor DateTime变量。
我有if else和trinary语法,并将Razor变量转换为javascript日期。
@{ var approvedDate = "01-01-2015"; }
<script id="tab_template" type="text/kendo-tmpl">
# var approvedDate = new Date(Date.parse(@approvedDate)); #
...
<li><label>Test1: </label>#if (Applied < approvedDate ) {# #: kendo.toString(Applied, "MM-dd-yyyy") # #}else{# Fail #}#</li>
<li><label>Test2: </label>#if (Applied > approvedDate ) {# #: kendo.toString(Applied, "MM-dd-yyyy") # #}else{# Fail #}#</li>
<li><label>Test3:</label>#= Applied < approvedDate ? kendo.toString(Applied, "MM-dd-yyyy") : "Fail" #</li>
<li><label>Test4:</label>#= Applied > approvedDate ? kendo.toString(Applied, "MM-dd-yyyy") : "Fail" #</li>
...
</script>
显示以下内容:
测试1:失败
测试2:2015年8月22日
测试3:失败
Test4:08-22-2015
我从OP改了一下。如果条件通过并且“失败”,它现在显示应用。如果失败了现在已经解决了两个问题,代码可以很容易地修改为原始行为。