C# 为什么我不能输出HTML代码?

C# 为什么我不能输出HTML代码?,c#,asp.net,C#,Asp.net,我正试图通过以下方式在我的网页上输出HTML <p> @Server.HtmlEncode(elem.Text.ToString().Replace("[BR]", "<br />")); </p> 如果没有编码,也会出现错误,然后输出为纯文本: 有人知道如何使其正确编码/输出吗?HtmlEncode中的encode一词意味着它将原始html转换为编码输出,即您看到的内容。如果您想要原始html,那么您可以执行Response.Write,或

我正试图通过以下方式在我的网页上输出HTML

  <p>
    @Server.HtmlEncode(elem.Text.ToString().Replace("[BR]", "<br />"));
  </p>
如果没有编码,也会出现错误,然后输出为纯文本:


有人知道如何使其正确编码/输出吗?

HtmlEncode中的encode一词意味着它将原始html转换为编码输出,即您看到的内容。如果您想要原始html,那么您可以执行Response.Write,或者,因为它看起来像是在使用Razor,@html.raw。

HtmlEncode转义特殊字符,如<>。使用Html.Raw而不是if。

您是双重Html编码。@已执行Html编码。尝试:

@elem.Text.ToString().Replace("[BR]", "<br />")
或:

或:


HtmlEncode对文本进行编码,以适合在html中传输。也就是说,它们不是有效的xml,因此会被编码。我不知道asp.net,但你得到的正是你告诉代码要给你的东西。正确的意思是什么?提供输入和预期输出的示例。原始!Doh,从来都不知道!谢谢你的提示
@elem.Text.ToString().Replace("[BR]", "<br />")
@(new HtmlString(elem.Text.ToString().Replace("[BR]", "<br />")))
@Html.Raw(elem.Text.ToString().Replace("[BR]", "<br />"))