我在评估Kendo Template中的变量值时遇到了问题。
在此代码中,变量 controlID 已按预期进行评估。它返回" test" 。
<script id="treeview-template" type="text/kendo-ui-template">
# var controlID= "test"; #
@Html.CheckBox("#=controlID#")
</script>
但是当我在C#代码块中使用它时,变量被评估为 &#34;#= controlID#&#34; 。
<script id="treeview-template" type="text/kendo-ui-template">
# var controlID= "test"; #
@{
Html.CheckBox("#=controlID#");
}
</script>
如何在Kendo Template中的C#代码块中获取正确的变量值?
任何帮助都将不胜感激。
答案 0 :(得分:3)
Kendo Template基本上已翻译为JavaScript,并在客户端(在浏览器中)执行。
您的第一个配置有效,因为以下
@Html.CheckBox('#=controlID#')
呈现为
<input type="checkbox" name="#= controlID #" id="#= controlID #" />
后者是有效的剑道模板。
但是其他代码块不会输出任何内容,因为您使用的是@{ }
而不是@
。这仅表示可执行服务器端代码(C#)的块,它不输出任何HTML。
答案 1 :(得分:0)
我自己从未使用过剑道,但根据你所显示的语法,我期待这个工作:
<script id="treeview-template" type="text/kendo-ui-template">
# var controlID= "test"; #
@{
Html.CheckBox(controlID);
}
</script>