Telerik 客户端模板条件

Telerik Client Template Conditions

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

<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。

谁能看出我在这里做错了什么。

就我个人而言,我更喜欢这样做。

改变这个:

 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;

}

这样您就可以轻松调试代码并在需要时在别处重用该函数。