You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET Core视图中正确渲染含HTML标签的内容

ASP.NET Core视图中HTML标签无法正常解析的解决方法

问题情况

在ASP.NET Core Razor视图中渲染包含HTML标签的字段时,出现标签被编码失效的问题:

  • 数据示例:description字段值为 dette er<br />beskrivelse
  • 初始使用代码:@WebUtility.HtmlDecode(img.Description)
  • 实际HTML输出:dette er&lt;br /&gt;beskrivelse,换行标签<br>无法生效

问题原因

Razor视图默认会对所有输出内容做HTML编码,以此防范XSS攻击。WebUtility.HtmlDecode仅能解码已编码内容,但Razor在输出解码后的内容时,会再次自动编码,导致HTML标签仍无法正常解析。

解决方法

使用Html.Raw()方法,该方法会通知Razor跳过对指定内容的编码,直接输出原始HTML:

修改后的代码:

@Html.Raw(img.Description)

注意事项

使用Html.Raw()时必须确保内容安全可信。如果内容来自用户提交或外部不可信来源,务必先完成XSS过滤处理,避免安全风险。

内容的提问来源于stack exchange,提问作者SteinTech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 22:47:02