少符号 (<) 不显示在剑道绑定到 html 上

Less sign (<) is not displayed on kendo binding to html

本文关键字:绑定 html 显示 符号      更新时间:2023-09-26

我有一个td元素:

<td data-bind="html: name"></td>

我在 JavaScript 中有数据作为

var name = '@Html.Raw(HttpUtility.JavaScriptStringEncode(Model.Name))';

模型名称为 <tag< tag

在javascript中,它看起来像:'u003ctag'u003c tag

在第一种情况下,我没有看到<tag及其之后的所有内容。

在第二种情况下,我确实看到了< tag.

为什么第一种情况不起作用?

它不起作用,因为 Element.innerHTML 不知道如何处理你给它的参数。在第二种情况下,输入被简单地视为文本,这就是它显示的原因,但在第一种情况下,它试图解释为 HTML(毕竟,这就是 innerHTML 和 kendo 的 html 绑定的目的(。

如果您尝试显示<tag,那么您应该简单地使用文本绑定:

<td data-bind="text: name"></td>

如果 Model.Name 实际上包含应该呈现的 HTML,它应该格式正确并具有结束标记。

例子:http://jsfiddle.net/lhoeppner/qkzEt/