2

我的 ASP MVC 项目中有一个 Telerik 网格。大多数列都绑定到数据库中的数据,但一列需要包含依赖于列记录值的图像图标。为此,我使用包含 IF ELSE 的列模板。IF ELSE 根据列记录的值写入带有特定图像引用(带有背景图像的 css 类)的 html。这在负载上工作得很好。但是,一旦我在网格上执行排序,在模板列中呈现的所有 html 都会丢失。代码如下。有没有办法做到这一点,还是我必须重新考虑如何进行排序?

<div id="gridArea" >

    @{Html.Telerik().Grid(@Model)
        .Name("Grid")
        .Columns(columns =>
             { columns.Template(
                 @<text>
                     @if (@item.Q1 == "On Plan")
                     {<div class="scorecardSymbol onPlanSymbol"></div>}
                     else if (@item.Q1 == "Off Plan")
                     {<div class="scorecardSymbol offPlanSymbol"></div>}
                     else if (@item.Q1 == "Serious Constraints")
                     {<div class="scorecardSymbol seriousConstraintsSymbol"></div>}
                     else if (@item.Q1 == "Not Started")
                     {<div class="scorecardSymbol notStartedSymbol"></div>}
                     else
                     {<span>NA</span> }
                 </text>)

                .HeaderTemplate(
                     @<text> 
                        <span style="color:red">Quarter Status</span>
                     </text>)
                .Width(175);
             columns.Bound("Off_Plan").Width(100).Title("Off Plan");
           })
       .DataBinding(dataBinding =>
         {
            dataBinding.Server().Select("Index", "Home", new { ajax = true });
            dataBinding.Ajax().Select("_FirstLook", "Home").Enabled(true);
          })
       .Render();
    }
</div>
4

1 回答 1

0

服务器端模板在 ajax 绑定模式下不起作用。在这种情况下,您需要使用客户端模板。您可以在此帮助主题中找到更多信息:http ://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-troubleshooting.html#ClientTemplates

于 2012-04-13T08:39:08.320 回答