在jQuery模板中使用MvcHtmlString -正确的razor语法是什么?
本文关键字:razor 语法 是什么 MvcHtmlString jQuery | 更新日期: 2023-09-27 18:17:08
我有这样的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。创建允许MVC正确显示richMessage ?
尝试使用{{html richMessage}}
代替${richMessage}
。您的问题在于${}
在默认情况下编码值。
应该使用jQuery模板的{{html property}}
语法。这类似于MVC端的@Html.Raw
。
<span>{{html richMessage}}</span>
这将输出richMessage
属性的内容到span
标签,而不转义HTML。