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


166

У мене є бібліотека класів (в C #). Мені потрібно кодувати свої дані методом HtmlEncode. Це легко зробити через веб-додаток. Моє запитання полягає в тому, як я можу використовувати цей метод з бібліотеки класів, що викликається з консольного додатка?

Відповіді:


208

Імпортуйте System.Web Або зателефонуйте до System.Web.HttpUtility, який її містить

Вам потрібно буде додати посилання на DLL, якщо його вже немає

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

7
Вам потрібно створити екземпляр класу Server Utility, який призначений для підтримки поточного поточного запиту та емуляції функцій старого об’єкта сервера ASP. HttpUtility - це легший набір ваги статичних методів.
AnthonyWJones

3
Переконайтеся, що у вашому типі рамки не вказано "Профіль клієнта". Змінивши це до повних рамок, і у вас буде доступна збірка system.web
Мартін Мерфі

У моєму проекті система System.Web.HttpUtility не була доступною (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (рядок) був доступний і працював чудово.
demonicdaron


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

Якщо ви працюєте з сріблястим світлом, використовуйте це:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.