我的ASP MVC项目中有一个telerik网格。大多数列都绑定到DB中的数据,但是一列需要包含依赖于列记录值的图像图标。为此,我使用包含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>
答案 0 :(得分:0)
服务器端模板在ajax绑定模式下不起作用。在这种情况下,您需要使用客户端模板。您可以在此帮助主题中找到更多信息:http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-troubleshooting.html#ClientTemplates