我有这样的jQuery模板:
<script id="msgTmpl" type="text/x-jquery-tmpl">
<li><span style="color:Black"><strong>${user.name}</strong> (${datetime})</span><br/><span>${richMessage}</span></li>
</script>
我以这种方式使用它:
$.post("/GetMessages", null, function (data, s) {
if (data.messages) {
$('#msgTmpl').tmpl(data.messages).appendTo('#chatList');
}
... and so on.
richMessage可以包含HTML标记。
我希望它被解释为HTML不会显示为标签序列......
我知道必须使用MVCHtmlString.Create,但我无法弄清楚正确的语法。
我还尝试在richMessage属性上使用[AllowHtml]属性,但没有成功。
我的问题是:如何使用MvcHtmlString.Create来正确显示richMessage?
答案 0 :(得分:2)
您应该使用jQuery模板的{{html property}}
语法。这与MVC方面的@Html.Raw
类似。
<span>{{html richMessage}}</span>
这会将richMessage
属性的内容输出到span
标记,而不会转义HTML。
答案 1 :(得分:2)
尝试使用{{html richMessage}}
代替${richMessage}
。问题在于${}
默认对值进行编码。