首页 > 解决方案 > 如何在剑道网格的详细模板中转义html编码

问题描述

我有一个带有详细模板的剑道网格。这是剑道 MVC 网格。我从服务器获取一些数据,这些数据将包含 html 文本。

假设父网格数据是这样的“ <span class='text-red'>Test</span>

在父网格中,我像这样绑定此列。

columns.Bound(m => m.Name).ClientTemplate("#if(Name=== ''){# - #}else{# #=Name# #}#");

这会给我输出Test

在这个网格的详细模板中,我使用子网格读取方法获得了一些其他数据,该方法也有一些 html 数据。假设子网格得到“ <span class='text-green'>Hi</span>

我正在像这样绑定这些数据。

columns.Bound(m => m.ChildName).ClientTemplate("\\#if(ChildName== ''){\\# - \\#}else{\\# \\#=ChildName\\# \\#}\\#")

但这给了我输出,<span class='text-green'>Hi</span>但我希望输出只是Hi. 为什么它显示整个html?为什么不将其视为与父网格相同?我希望应用 css 的文本Hi就像父网格一样

标签: kendo-gridkendo-asp.net-mvc

解决方案


将 .Encoded(false) 设置为向下钻取列:

columns.Bound(m => m.ChildName).ClientTemplate("\\#if(ChildName== ''){\\# - \\#}else{\\# \\#=ChildName\\# \\#}\\#").Encoded(false)

推荐阅读