HtmlEncode de la biblioteca de clases


166

Tengo una biblioteca de clases (en C #). Necesito codificar mis datos usando el método HtmlEncode. Esto es fácil de hacer desde una aplicación web. Mi pregunta es, ¿cómo uso este método desde una biblioteca de clases que se llama desde una aplicación de consola?

Respuestas:


208

Importar System.Web O llame al System.Web.HttpUtility que lo contiene

Deberá agregar la referencia a la DLL si aún no está allí

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

77
Debe crear una instancia de la clase de Utilidad de servidor que esté diseñada para admitir una Solicitud actual en curso y emular características del antiguo objeto del Servidor ASP. HttpUtility es un conjunto de métodos estáticos más livianos.
AnthonyWJones

3
Asegúrese de que su tipo de marco no especifique "Perfil de cliente". Cambia esto al marco completo y tendrá el ensamblaje system.web disponible
Martin Murphy

System.Web.HttpUtility no estaba disponible en mi proyecto (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (string) estaba disponible y funcionaba bien.
demonicdaron


39

Si está utilizando C # 3, un buen consejo es crear un método de extensión para hacerlo aún más simple. Simplemente cree un método estático (preferiblemente en una clase estática) así:

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

Luego puedes hacer cosas ordenadas como esta:

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

25

Prueba esto

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

44
Esto es mucho mejor porque no tengo que agregar referencias a System.Web en mi proyecto WPF.
newman

7

Agregue una referencia a System.Web.dll y luego puede usar la clase System.Web.HtmlUtility



3

En caso de que use SharePoint 2010, usar la siguiente línea de código evitará tener que hacer referencia a toda la biblioteca System.Web:

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

2

En caso de que esté trabajando con Silverlight, use esto:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.