我正在使用UI for ASP.NET Core
。我已经配置了自动完成小部件,并自定义了标题&项目模板如下
@(Html.Kendo().AutoCompleteFor(x => x.AccountNumber)
.DataTextField("AccountNumber")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetData", "Lookup");
})
.ServerFiltering(true);
})
.MinLength(2)
.Height(400)
.HeaderTemplateId("headerTemplate")
.TemplateId("itemTemplate"))
模板
<script id="headerTemplate" type="text/x-kendo-template">
<table>
<tr class="auto-hd-tr">
<td class="auto-hd-td auto-td-large">Account Number</td>
<td class="auto-hd-td auto-td-small">State</td>
</tr>
</table>
</script>
<script id="itemTemplate" type="text/x-kendo-template">
<table>
<tr>
<td class="auto-item-td auto-td-large">${AccountNumber}</td>
<td class="auto-item-td auto-td-small">${State}</td>
</tr>
</table>
</script>
当自动完成显示搜索结果时,如果AccountNumber
或State
属性为null,则实际上将null
字符串显示为值。
如何在模板中使用if-then-else
,因此如果property为null,则不显示任何内容
注意:
1&GT;我可以在服务器上处理这个并将值设置为string.empty
如果property为null但我想在客户端处理它。
2&gt; Telerik有overview of Template here。但是,显示属性值#= #
或#: #
(也称为哈希模板)的语法不起作用。我必须使用语法${ }
才能使其正常工作
我知道如何使用哈希模板语法if-then-else
。但是,我不知道如何使用if-then-else
语法${ }
答案 0 :(得分:1)
我刚搜索了我的代码库,我对${}
样式的唯一用途是设置值,例如:
<script id="tmpMyViewItem" type="text/x-kendo-tmpl" >
<div class="myViewItem" id=${AccountNumber}>
<h3>${AccountNumber}</h3>
</div>
</script>
在我有条件语句的所有地方都使用了哈希模板:
.ItemTemplate("#if(data.Name!='<All>'){#<img style='padding-top:3px;'.....
也许this link我在2011年收到了书签,可能会让人眼前一亮。是什么阻止你使用has模板样式?