我正在尝试通过
在我的网页上输出HTML <p>
@Server.HtmlEncode(elem.Text.ToString().Replace("[BR]", "<br />"));
</p>
[BR]
是我的编码<br />
,因为我不会/不能直接保存html。但问题是,当我使用@ Server.HtmlEncode时,我得到了这个输出:
one little<br /><br />test!;
如果没有编码也看起来不对,那么它会以明文输出<br />
:(
有没有人知道如何正确编码/输出?
答案 0 :(得分:5)
您是双重HTML编码。 @
已经执行了Html编码。尝试:
@elem.Text.ToString().Replace("[BR]", "<br />")
或:
@(new HtmlString(elem.Text.ToString().Replace("[BR]", "<br />")))
或:
@Html.Raw(elem.Text.ToString().Replace("[BR]", "<br />"))
答案 1 :(得分:0)
Encode
中的单词HtmlEncode
表示它将原始html转换为其编码输出,即您所看到的内容。如果你想要原始html,那么你可以Response.Write()
或者,因为看起来你正在使用Razor,@Html.Raw()
。
答案 2 :(得分:0)
HtmlEncode转义特殊字符,例如&lt;取代。使用Html.Raw而不是if。