我有一个td元素:
<td data-bind="html: name"></td>
我在JavaScript中有数据
var name = '@Html.Raw(HttpUtility.JavaScriptStringEncode(Model.Name))';
型号名称为<tag
或< tag
。
在javascript中看起来像是:\u003ctag
和\u003c tag
。
在第一种情况下,我没有看到<tag
及其后的所有内容。
在第二种情况下,我确实看到< tag
。
为什么第一个案例不起作用?
答案 0 :(得分:4)
它不起作用,因为Element.innerHTML不知道如何处理你给它的参数。 在第二种情况下,输入被简单地视为文本,这就是它显示的原因,但在第一种情况下,它试图将其解释为HTML(毕竟,这就是innerHTML和kendo的html绑定所针对的。)
如果您要显示<tag
,那么您应该只使用文字绑定:
<td data-bind="text: name"></td>
如果Model.Name实际上包含应该呈现的HTML,那么它应该格式良好并且具有结束标记。