2015-09-02 47 views
0

我试图写下面的模板,但执行后,我在控制台中得到无效的模板错误。如何检查kendo模板内的枚举和模型属性

@using MYApplication.EnumContract 
    @model MYApplication.Models.CustomerModel 
    <script type="text/kendo-x-tmpl" id="EntitiesTemplate"> 
      <table> 
     <tr> 
      # if ((int)CustomerStatus.APPROVED == custStatus && CustomerModel.UserRole == 1) { # 
      <td> 
       APPROVED 
      </td> 
      # } 
      else {# 
      <td> 
      NOT APPROVED 
      </td> 
      #} 
      # 

    </tr> 
    </table> 

</script> 

请让我知道,因为你是在你的模板(# expression #)执行arbitary JavaScript代码,我们如何检查枚举内模板&模型...

+0

我不认为你可以在JavaScript中投(INT)? ? –

+0

@RickS:是的!你是对的,我们不能在JavaScript中投射int,并且根据我的理解,我们不能使用枚举和模型来检查。那么处理这种类型的条件的正确方法是什么? – Dev

回答

0

,那么你可以尝试添加全局变量包含所有枚举值的页面。

把所有的模板,上面这个脚本(在剃刀页)

<script> 
var approvedVal = parseInt("@((int)CustomerStatus.APPROVED)"); 
</script> 

和您的模板应该是这样的

<script type="text/kendo-x-tmpl" id="EntitiesTemplate"> 
    <table> 
     <tr> 
      # if (custStatus == approvedVal && CustomerModel.UserRole == 1) { # 
      <td>APPROVED</td> 
      # } else { # 
      <td>NOT APPROVED</td> 
      # } # 
     </tr> 
    </table> 
</script>