【问题标题】:C# how do I include the following in HTML [duplicate]C#如何在HTML中包含以下内容[重复]
【发布时间】:2016-08-14 00:49:02
【问题描述】:

我有一个使用 razor 语法的 MVC 网站。我从数据库中的值生成一个表。 在表格单元格中,我有一些文本,例如
这是一段文字

代码

<td>
 this is <b>some</b> text
</td>

现在我需要一个粗体字。我试过&lt;b&gt;some&lt;/b&gt;,但这正是它在网页上的显示方式。我需要它看起来像
这是一些文字

【问题讨论】:

  • 示例中的代码应该可以工作。 &lt;b&gt;some&lt;/b&gt; 是否来自数据库,而您真的在渲染 &lt;td&gt;this is @someValue test&lt;/td&gt;
  • @somevalue
  • 这么想!在这种情况下,Html.Raw 应该可以解决您的问题。
  • 还有一件事。代码当前是@Html.DisplayFor(modelItem => Model[i].QuestionText) 应该是@Html.Raw(Model[i].QuestionText)
  • 如果Model[i].QuestionText 只是一个字符串,那么无论如何都没有理由使用DisplayFor,它通常用于渲染具有多个数据的复杂对象。

标签: c# html asp.net razor


【解决方案1】:

发生这种情况的唯一方法是,如果您的 &lt;b&gt;some&lt;/b&gt; 字符串来自代码中其他地方的变量。出于安全原因,Razor 会自动对此进行转义,但您可以使用 Razor 中已有的视图助手强制它按原样呈现。

使用 Html.Raw() 帮助器渲染字符串而不对其进行清理。

<td>
    This is @Html.Raw(Model[i].QuestionText) text
</td>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2018-05-20
    • 2017-11-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多