Telerik客户端模板条件

时间:2015-02-25 16:11:04

标签: asp.net-mvc kendo-grid telerik-grid kendo-asp.net-mvc

我正在使用Telerik MVC网格控件来显示数据网格。我的网格的详细信息是调用以下客户端详细信息模板:

<script id="client-template" type="text/x-kendo-template">   <%: Html.Kendo().Grid<ASML_Scheduler.ScheduleService.AgentViewData>()
  .Name("grid_#=WorkgroupName#") 
    .DataSource(dataSource =>  
      dataSource.Ajax().Read(read => read.Action("Agents_Read", "Home", new {workgroupname= "#=WorkgroupName#", name = ViewData["LoggedInUser"] }))
  )      
  .Columns(columns =>
  {
      columns.Bound(product => product.AgentName).ClientTemplate("<strong>\\#:AgentName\\#</strong>");
      //columns.Bound(product => product.IsLoggedOn);
      //columns.Bound(product => product.IsLoggedOn).ClientTemplate("<div class='mystyle'>\\#:IsLoggedOn\\#</div>");
      columns.Bound(product => product.IsLoggedOn).ClientTemplate(
              "# if (IsLoggedOn != false) { #" +
                       "<div class='mystyle'>\\#:IsLoggedOn\\#</div>" +
              "# } else { #" +
                       "<div>\\#:IsLoggedOn\\#</div>" +
              "# } #"
          );             
      columns.Bound(product => product.IsScheduled);
  })       
  .ToClientTemplate()
%>   
</script>

我遇到的问题是IsLoggedOn客户端模板,因为它无法识别IsLoggedOn!= false。

任何人都可以在这里看到我错在哪里。

1 个答案:

答案 0 :(得分:2)

我个人喜欢这样做。

改变这个:

 columns.Bound(product => product.IsLoggedOn).ClientTemplate(
              "# if (IsLoggedOn != false) { #" +
                       "<div class='mystyle'>\\#:IsLoggedOn\\#</div>" +
              "# } else { #" +
                       "<div>\\#:IsLoggedOn\\#</div>" +
              "# } #"
          );   

 columns.Bound(product => product.IsLoggedOn)
.ClientTemplate("#=StyleLogin(data.IsLoggedOn)#");   

然后创建一个javascript函数

function StyleLogin(IsLoggedOn)
{
    var value = ''; 
   if (IsLoggedOn != false) { 
                     value =  '<div class="mystyle">' +  IsLoggedOn +  '</div>';
              } else { 
                       value =  '<div>' + IsLoggedOn + '</div>';
              }

return value;

}

通过这种方式,您可以轻松地调试代码,并在需要时在其他地方重用该功能。

相关问题