【问题标题】:Why doesn't my RDLC data display HTML content properly?为什么我的 RDLC 数据不能正确显示 HTML 内容?
【发布时间】:2015-12-25 16:18:59
【问题描述】:

为什么我的 RDLC 不显示 HTML 内容?我已将编码的 HTML 格式文本保存在 sql 表中的 Nvarchar 字段中,如下所示:

<p><strong>ANDSLASKNDKLSNALNDKLANDLANND</strong></p><pre><pre lang="c#">

即使在 RDLC 中,我也检查了 HTML- 将 HTML 标记解释为样式 选项,但它仍然不显示格式化输出。

为什么?

【问题讨论】:

  • 数据中是否包含html元素?如果是这样,可能是数据(html元素)在传递之前被转义,导致它打印实际字符而不是被解释为html。
  • 是的,正如我所说,我已将 HTML 编码的内容保存在数据库 nvarchar 字段中。
  • @NickDeBeer 检查我已经更新了我的问题
  • 感谢您的更新。你的输出到底是什么?据我所知,您只能将 HTML 的子集呈现到报告中(以保护它免受 html 注入),因此例如您可以使用 而不是 并且加粗文本。看看这个stackoverflow.com/a/3816594/1284637
  • 我的输出由html标签组成,我只是将文本加粗

标签: c# html asp.net rdlc


【解决方案1】:

正如 cmets 中所讨论的,只能渲染 HTML 的子集(以保护它免受 html 注入)。您必须使用&lt;B&gt; 来定义粗体文本,而不是使用&lt;strong&gt;。

当您导入包含 HTML 标记的文本时,数据必须始终 首先由文本框解析。因为只有一部分 HTML 标签是 支持,呈现的报告中显示的 HTML 可能不同 来自您的原始 HTML。
以下是完整的标签列表 当定义为占位符文本时将呈现为 HTML:

【讨论】:

  • 但没有任何效果,既不是粗体,也不是斜体,也不是下划线
猜你喜欢
相关资源
最近更新 更多
热门标签