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


166

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

Ответы:


208

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

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

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

7
Вам необходимо создать экземпляр класса Server Utility, который предназначен для поддержки текущего выполняемого запроса и эмуляции функций старого объекта ASP Server. HttpUtility - это более легкий набор статических методов.
AnthonyWJones

3
Убедитесь, что в вашем типе фреймворка не указан «Профиль клиента». Измените это на полный каркас, и вы получите доступную сборку system.web
Мартин Мерфи

System.Web.HttpUtility не был доступен в моем проекте (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (string) был доступен и работал нормально.
Демоникдарон


39

Если вы используете 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

Попробуй это

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

4
Это намного лучше, потому что мне не нужно добавлять ссылку на System.Web в моем проекте WPF.
новичок

7

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



3

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

Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);

2

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

System.Windows.Browser.HttpUtility.HtmlEncode(...);
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.