HtmlEncode z biblioteki klas


166

Mam bibliotekę klas (w C #). Muszę zakodować moje dane za pomocą metody HtmlEncode. Można to łatwo zrobić z poziomu aplikacji internetowej. Moje pytanie brzmi: jak używać tej metody z biblioteki klas, która jest wywoływana z aplikacji konsoli?

Odpowiedzi:


208

Importuj System.Web Lub wywołaj System.Web.HttpUtility, który go zawiera

Będziesz musiał dodać odwołanie do biblioteki DLL, jeśli jeszcze jej tam nie ma

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

7
Należy utworzyć instancję klasy Server Utility przeznaczoną do obsługi aktualnie trwającego żądania i emulowania funkcji starego obiektu ASP Server. HttpUtility to lżejszy zestaw metod statycznych.
AnthonyWJones,

3
Upewnij się, że typ struktury nie określa „Profilu klienta”. Zmieni to na pełną strukturę i będziesz mieć dostępny zestaw system.web
Martin Murphy

System.Web.HttpUtility nie był dostępny w moim projekcie (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (string) był dostępny i działał dobrze.
demonicdaron


39

Jeśli używasz języka C # 3, dobrą wskazówką jest utworzenie metody rozszerzenia, aby było to jeszcze prostsze. Po prostu utwórz metodę statyczną (najlepiej w klasie statycznej) w następujący sposób:

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

Możesz wtedy robić takie fajne rzeczy:

string encoded = "<div>I need encoding</div>".HtmlEncode();

25

Spróbuj tego

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

4
Jest to o wiele lepsze, ponieważ nie muszę dodawać odwołania do System.Web w moim projekcie WPF.
newman

7

Dodaj odwołanie do System.Web.dll, a następnie możesz użyć klasy System.Web.HtmlUtility



3

W przypadku korzystania z programu SharePoint 2010 użycie następującego wiersza kodu pozwoli uniknąć konieczności odwoływania się do całej biblioteki System.Web:

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

2

Jeśli pracujesz z Silverlight, użyj tego:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.