我正在尝试在网站上显示从一个用户到另一个用户的消息。消息使用HTML保存在数据库中。
为什么网站上的HTML会显示,而不是将HTML转换为链接或换行符?
以下是代码:
<div class="jumbotron">
<h4><u>Your Messages</u></h4>
@foreach (var m in Model.User.MessagesUsers)
{
<p>@m.Message</p>
}
</div>
答案 0 :(得分:3)
看起来你正在使用ASP.NET MVC。出于安全原因,框架会自动对输出进行HTML编码。
你可以通过using @Html.Raw
来解决这个问题:
<p>@Html.Raw(m.Message)</p>
请注意然而,这是规避安全性。确保您信任您的数据。这就是跨站点脚本攻击的发生方式。您可能还想查看Markdown之类的内容,以允许用户输入您可以更好地控制的标记。