我的 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>