将带有“<b>”标签的文本显示为 html

Displaying text with '<b>' tags as html

如何在我的 html 页面中显示我的字符串:<b>test</b> 为:test? 我正在从我的数据库中获取字符串,该字符串是使用所见即所得编辑器创建的。

我试过使用 razor 语法:

@Html.Encode(Model.teststring);

但这行不通。

我也尝试过使用 javascript,但也没有用:

<div id="@Model.ID">
   <script type="text/javascript">
      $('#@Model.ID').html(Model.teststring);
   </script>
</div>

两者显示的文字如下:<b>test</b>

有办法解决我的问题吗?

您需要将其放在 Html.Raw() 内,如下所示

@Html.Raw(Model.teststring)

此方法使用 IHtmlString class 包装 HTML 标记,呈现未编码 HTML。您可以了解更多相关信息 here

您的 ID 命名有两个问题:

  1. 不要使用@字符和
  2. 不要使用点字符 (.)

这似乎运作良好:

var Model = {
  teststring: '<b>test</b>'
};
$('#ModelID').html(Model.teststring);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="ModelID">
</div>