web-dev-qa-db-fra.com

HtmlEncode depuis la bibliothèque de classes

J'ai une bibliothèque de classe (en C #). Je dois encoder mes données en utilisant la méthode HtmlEncode. C'est facile à faire à partir d'une application Web. Ma question est la suivante: comment utiliser cette méthode à partir d'une bibliothèque de classes appelée à partir d'une application console?

162
Villager

Importer System.Web ou appeler le System.Web.HttpUtility qui le contient

Vous devrez ajouter la référence à la DLL si ce n’est pas déjà fait

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

System.Net.WebUtility la classe est disponible à partir de .NET 4.0 (vous n’avez pas besoin de dépendance System.Web.dll).

200
George Chakhidze

Si vous utilisez C # 3, un bon conseil est de créer une méthode d’extension pour rendre cela encore plus simple. Créez simplement une méthode statique (de préférence dans une classe statique) comme ceci:

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

Vous pouvez ensuite faire des choses intéressantes comme ceci:

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

Essaye ça

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

Ajoutez une référence à System.Web.dll et vous pourrez ensuite utiliser la classe System.Web.HtmlUtility.

7
AnthonyWJones

Si vous utilisez SharePoint 2010, l'utilisation de la ligne de code suivante vous évitera de faire référence à l'ensemble de la bibliothèque System.Web:

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

Il suffit de référencer l’assemblage System.Web, puis d’appeler: HttpServerUtility.HtmlEncode.

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

3
Irwin

Si vous travaillez avec silverlight, utilisez ceci:

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