7

我使用剑道模板,我能够创建一个条件语句(IF 语句),如文档中所述。这是我的代码。

#if ((item.ControlType) == "tbx"){#
   @(Html.Kendo().AutoComplete()
   .Name("#=ctrlid#")
   .ToClientTemplate())
#}#

这工作正常。

但我想要的是一个Switch Case 语句。我已经尝试过了,但它不起作用。它说“无效的模板”。

# switch (item.ControlType) {#
  # case "tbx": #
     @(Html.Kendo().AutoComplete()
       .Name("#=ctrlid#")
       .ToClientTemplate())
  # break; #
  # }#

我错过了什么吗?还是说 Kendo Template 无法解释 Switch Case 语句?(关于后者,我不这么认为..我肯定错过了一些东西)

任何人都可以帮助我吗?谢谢!^^

4

1 回答 1

18

我检查了您的情况,并找到了错误的原因。基本上,为了保持 JavaScript 有效,您只需要在 switch 语句和第一个 case 语句周围使用一对 # 符号。

例如

代替:

# switch (item.ControlType) {#
# case "tbx": #

采用:

# switch (item.ControlType) {
  case "tbx": #

为了演示它,这里是一个jsbin。如果将开关与 MVC 包装器生成的一些小部件结合使用,基本上应该不会有问题。如果有,请告诉我。

于 2013-02-18T17:09:48.477 回答