C#中的HTML编码 - 还有其他任何方式

时间:2015-03-31 11:14:06

标签: c#

当撇号等字符编码为'而不是'时,有没有办法在C#中进行HTML编码?

我的数据库包含这样的字符串:

HttpUtility.HtmlEncode

当用户在str'str 中键入“str'str”时,我需要通过SQL查询选择它。所以我想先将它编码为相同的字符串,然后通过TextBox运算符选择它。

提前致谢。

3 个答案:

答案 0 :(得分:1)

string str = "str'str";

选项1:

System.Security.SecurityElement.Escape(str);

选项2:

string encoded = str.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("\"", "&quot;").Replace("'", "&apos;");

for more info take a look at xml encoding

答案 1 :(得分:0)

        string teststr = " > < & ";
        string zoo = HttpUtility.HtmlEncode(teststr);

zoo ==&#34; &安培; GT; &安培; LT; &安培;放大器; &#34; (减去&符号和字母字符之间的空格)

答案 2 :(得分:0)

apos是一个xml实体,而不是HTML。您可以使用AntiXSS库编码为xml来获取撇号,但我不知道您需要编码的其他数据以及它是否满足您的需求但值得一试:

System.Web.Security.AntiXss.AntiXssEncoder.XmlEncode("Mike's")