2013-02-18 54 views
4

Im使用Kendo模板我能够创建一个条件语句(IF语句),如文档中所述。 这是我的代码。在Kendo模板中切换声明

#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模板仅仅是不可能解释开关案例陈述? (关于后者,我不这么认为..我绝对缺少一些东西)

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

回答

13

我检查你的情况,我发现错误的原因。基本上为了保持JavaScript的有效性,您将不得不使用一对围绕switch语句和第一个case语句的#符号。

例如

代替:

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

使用:

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

为了演示,这里是一个jsbin。基本上,如果将交换机与由MVC包装器生成的一些小部件结合起来,应该不会有问题。如果有,请告诉我。

+0

谢谢Pechka!你的解决方案有效。^^ – 2013-02-19 01:43:57