HtmlEncode из библиотеки классов - PullRequest
160 голосов
/ 17 июля 2009

У меня есть библиотека классов (в C #). Мне нужно кодировать мои данные, используя метод HtmlEncode. Это легко сделать из веб-приложения. Мой вопрос: как мне использовать этот метод из библиотеки классов, которая вызывается из консольного приложения?

Ответы [ 8 ]

204 голосов
/ 17 июля 2009

Импорт System.Web Или вызовите System.Web.HttpUtility, которая содержит его

Вам нужно будет добавить ссылку на DLL, если ее там еще нет

string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);
199 голосов
/ 11 мая 2010

System.Net.WebUtility класс доступно начиная с .NET 4.0 (Вам не нужна зависимость System.Web.dll).

40 голосов
/ 18 июля 2009

Если вы используете C # 3, хороший совет - создать метод расширения, чтобы сделать это еще проще. Просто создайте статический метод (предпочтительно в статическом классе) примерно так:

public static class Extensions
{
    public static string HtmlEncode(this string s)
    {
        return HttpUtility.HtmlEncode(s);
    }
}

Затем вы можете делать такие аккуратные вещи, как это:

string encoded = "<div>I need encoding</div>".HtmlEncode();
25 голосов
/ 03 апреля 2012

Попробуйте это

System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);
7 голосов
/ 17 июля 2009

Добавьте ссылку на System.Web.dll, после чего вы сможете использовать класс System.Web.HtmlUtility

3 голосов
/ 04 апреля 2011

Если вы используете SharePoint 2010, используйте следующую строку кода, чтобы избежать ссылки на всю библиотеку System.Web:

Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);
3 голосов
/ 17 июля 2009

Просто обратитесь к сборке System.Web и затем вызовите: HttpServerUtility.HtmlEncode

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.htmlencode.aspx

2 голосов
/ 11 декабря 2010

Если вы работаете с Silverlight, используйте это:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
...