在客户端模板Telerik Grid mvc中使用Model对象值

时间:2014-05-29 19:09:01

标签: asp.net-mvc telerik

我需要根据Model Object属性在网格中显示两个不同的值。我能够使用Template但不能使用客户端模板。 怎么做?

我使用了下面的代码,但是我收到的错误是IsContractORPO未定义。

@{
    Model.IsContractORPO = "P"; 
}
<div>
    @{Html.Telerik().Grid(Model.TestList)
                      .Name("testGrid")
              .Columns(columns =>
              {
                  columns.Bound(col => col.FTE);

                  columns
                      .Template(@<text>@if (Model.IsContractORPO == "C")
                                       {<div>@item.FTE</div>}
                                       else if (Model.IsContractORPO == "P")
                                       {<div>-</div>}</text>).Title("FTETestColumn")
                      .ClientTemplate("<# if (model.IsContractORPO == 'C') { #> <div><#=FTE#></div><# } else if(model.IsContractORPO == 'P'){ #><div>-</div><# } #>");

                  columns.Bound(col => col.BalanceAmount);
                  columns.Bound(col => col.BalanceUnits);
              })
              .ClientEvents(events => events.OnDataBinding("onDataBinding"))
              .Render();
    }
</div>

1 个答案:

答案 0 :(得分:0)

经过一段时间的分析后,我才知道我们可以通过将其作为脚本变量在客户端模板中使用模型属性。 以下代码解决了问题。

<script type="text/javascript">
var isContractORPO = '@Model.IsContractORPO';
</script>

客户端模板就像

ClientTemplate("<# if (isContractORPO == 'C') { #> <div><#=FTE#></div><# } else if(isContractORPO == 'P'){ #><div>-</div><# } #>");