【问题标题】:Convert string to escaped html将字符串转换为转义的 html
【发布时间】:2015-09-27 08:41:31
【问题描述】:

我对很多 ASP.net MVC5 功能都很陌生。我想知道是否有一个库可以自动将转义字符添加到打算作为 html 输出的 C# 字符串中? HTMLAgility Pack 会是我想要的吗?或者是否有内置的东西可以为你做这件事?如果我使用了正确的术语,有人可以告诉我吗?

var fileContents = System.IO.File.ReadAllText(Server.MapPath("~/Static/email.txt"))

文件内容为:

<table width="600" cellpadding="0" cellspacing="0" style="background-color:black;">

库会将“文件内容”转换为:

 "<table width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"background-color:black;\">\n"

【问题讨论】:

  • 您为什么要这样做?字符串中的实际反斜杠没有任何特殊意义,除非在代码中写为实际文字。您从文件中读取的字符串是有效的 HTML,应该无需修改即可使用。事实上,添加反斜杠和额外的引号会将其变成 not 有效的 HTML。
  • stackoverflow.com/questions/4281424/… 你有很多方法可以做到这一点
  • 我想加载html,这样我就可以发送电子邮件了。这就是为什么我需要它被逃脱。所以它可以被推送到MailMessage。我想加载电子邮件而不必通过连接字符串来转义每封电子邮件。
  • 您使用 MVC,您应该将 Razor 用于您的电子邮件模板,这样会更好。您可以将剃刀视图转换为文本字符串,然后在电子邮件中发送。 stackoverflow.com/questions/15371540/…

标签: c# asp.net asp.net-mvc string


【解决方案1】:

输出字符串为html,可以尝试使用HttpServerUtility.HtmlEncode

【讨论】:

    【解决方案2】:
    System.Web.HttpUtility.HtmlEncode("<p>I am some html</p>");
    

    【讨论】:

    • 谢谢,我会试试的。
    猜你喜欢
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 2014-08-30
    • 1970-01-01
    • 2010-12-09
    相关资源
    最近更新 更多