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

ASP.NET中如何让HTML正确渲染分号后的换行?

解决代码分号后插入HTML换行的问题

核心问题是Razor会自动编码输出的HTML内容,你追加的<br>标签被转义成了&lt;br&gt;,因此无法被浏览器解析为换行。

解决方案1:使用Html.Raw()跳过编码

输出StringBuilder结果时,用Html.Raw()包裹,让Razor不对内容进行HTML编码:

@if(code != string.Empty) {
    var str = new StringBuilder();
    foreach(var c in code) {
        str.Append(c);
        if(c == ';') {
            str.Append("<br>"); // 直接写入<br>即可,无需转义
        }
    }
    <p style="text-align:justify;">@Html.Raw(str)</p>
}

解决方案2:转换为MvcHtmlString

将StringBuilder的结果转换为MvcHtmlString类型,同样能避免自动编码:

@if(code != string.Empty) {
    var str = new StringBuilder();
    foreach(var c in code) {
        str.Append(c);
        if(c == ';') {
            str.Append("<br>");
        }
    }
    var htmlContent = MvcHtmlString.Create(str.ToString());
    <p style="text-align:justify;">@htmlContent</p>
}

两种方法都能让<br>标签被浏览器正确识别为换行符,替代之前无效的转义写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 23:27:01