2009-07-17 15 views
146

Mam biblioteki klas (w C#). Potrzebuję zakodować moje dane przy użyciu metody HtmlEncode. Jest to łatwe do zrobienia dzięki aplikacji internetowej. Moje pytanie brzmi: jak korzystać z tej metody z biblioteki klas, która jest wywoływana z aplikacji konsoli?HtmlEncode z biblioteki klas

Odpowiedz

188

importu system.Web lub zadzwoń System.Web.HttpUtility który zawiera

Musisz dodać odwołanie do biblioteki DLL, jeśli nie istnieje już

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

Musisz utworzyć instancję klasy Utility Server, który został zaprojektowany w celu wsparcia current in progress Żądaj i emuluj funkcje starego obiektu serwera ASP. HttpUtility to lżejszy zestaw metod statycznych. – AnthonyWJones

+0

należycie zanotowane i zmienione –

+1

kwestie dotyczące wielkich liter: HtmlEncode – Nathan

6

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

40

Jeśli korzystasz z C# 3, dobrym wskazówka jest stworzenie metody rozszerzenia, aby było jeszcze prostsze. Wystarczy utworzyć metody statyczne (najlepiej w klasie statycznej) tak:

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

Można wtedy zrobić miłe rzeczy tak:

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

System.Net.WebUtility klasa jest już od .NET 4.0 (Nie potrzebujesz zależności System.Web.dll).

+7

Dzięki, Teraz mogę używać profilu klienta .NET 4 zamiast pełnego schematu! – Annagram

2

W przypadku pracy z Silverlight, użyj tego:

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

W przypadku używasz SharePoint 2010, stosując następujący wiersz kodu pozwoli uniknąć konieczności odwoływania się do całej biblioteki system.Web:

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

Spróbuj

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

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

Powiązane problemy