it-roy-ru.com

HtmlEncode из библиотеки классов

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

160
Villager

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

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

string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);
203
Russ Bradberry

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

199
George Chakhidze

Если вы используете 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();
40
Dan Diplo

Попробуй это

System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);
25
Palanikumar

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

7
AnthonyWJones

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

Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);
3
Koen Zomers

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

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

3
Irwin

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

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