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?
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);
System.Net.WebUtility
la classe est disponible à partir de .NET 4.0 (vous n’avez pas besoin de dépendance System.Web.dll).
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();
Essaye ça
System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);
Ajoutez une référence à System.Web.dll et vous pourrez ensuite utiliser la classe System.Web.HtmlUtility.
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);
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
Si vous travaillez avec silverlight, utilisez ceci:
System.Windows.Browser.HttpUtility.HtmlEncode(...);