2

我有这样的 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 让 MVC 正确显示richMessage?

4

2 回答 2

2

您应该使用{{html property}}jQuery 模板的语法。这类似于@Html.RawMVC 方面。

<span>{{html richMessage}}</span>

这会将richMessage属性的内容输出到span标签中而不转义 HTML。

于 2011-12-08T21:55:52.120 回答
2

尝试使用{{html richMessage}}而不是${richMessage}. ${}您的问题在于默认情况下对值进行编码的事实。

于 2011-12-08T21:56:04.027 回答