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

ASP.NET MVC中如何将转义sub标签的文本渲染为正常显示格式?

解决ASP.NET MVC中双重HTML转义的渲染问题

这个问题我太熟了!你遇到的是双重HTML转义的坑——你的字符串里的&amp;lt;sub&amp;gt;其实是<sub>被转了两次的结果:第一次<变成&lt;,第二次&又被转成&amp;,所以最终就成了&amp;lt;sub&amp;gt;。直接用@Html.Raw()只能解析第一层转义,所以出来的还是&lt;sub&gt;,没法变成真正的下标标签。

具体解决步骤

你需要先把字符串里的HTML实体解码,还原成真正的<sub>标签,再用Html.Raw()输出,分两种框架情况:

1. ASP.NET Framework 项目

使用HttpUtility.HtmlDecode方法先解码,再输出:

@using System.Web; // 如果视图没引用这个命名空间,需要加上这行
@Html.Raw(HttpUtility.HtmlDecode(title))

2. ASP.NET Core 项目

ASP.NET Core里没有System.Web,改用WebUtility.HtmlDecode:

@Html.Raw(System.Net.WebUtility.HtmlDecode(title))

效果说明

解码后,字符串里的&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;会被还原成&lt;sub&gt;3&lt;/sub&gt;,接着Html.Raw()会把这个实体解析成真正的<sub>3</sub>HTML标签,页面就能正确显示出CaSiO₃(下标3)的效果了。

小建议:如果能控制数据源头,最好直接存储<sub>3</sub>这种未被双重转义的内容,这样前端处理会更省心~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:04:00