HtmlEncode da Biblioteca de classes


166

Eu tenho uma biblioteca de classes (em c #). Preciso codificar meus dados usando o método HtmlEncode. Isso é fácil de fazer a partir de um aplicativo da web. Minha pergunta é: como uso esse método em uma biblioteca de classes que está sendo chamada de um aplicativo de console?

Respostas:


208

Importar System.Web Ou ligue para o System.Web.HttpUtility que o contém

Você precisará adicionar a referência à DLL se ela ainda não estiver lá

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

7
Você precisa criar uma instância da classe Server Utility, projetada para oferecer suporte a uma Solicitação atual em andamento e emular os recursos do antigo objeto do ASP Server. HttpUtility é um conjunto mais leve de métodos estáticos.
AnthonyWJones

3
Verifique se o seu tipo de estrutura não especifica "Perfil do cliente". Altera isso para a estrutura completa e você terá o assembly system.web disponível
Martin Murphy

System.Web.HttpUtility não estava disponível no meu projeto (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (string) estava disponível e funcionou bem.
Demonicdaron 04/07/19


39

Se você estiver usando o C # 3, uma boa dica é criar um método de extensão para tornar isso ainda mais simples. Basta criar um método estático (de preferência em uma classe estática) da seguinte forma:

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

Você pode então fazer coisas legais como esta:

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

25

Tente isto

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

4
Isso é muito melhor porque não preciso adicionar referência ao System.Web no meu projeto WPF.
newman

7

Adicione uma referência ao System.Web.dll e, em seguida, você pode usar a classe System.Web.HtmlUtility



3

Caso você esteja usando o SharePoint 2010, a seguinte linha de código evitará ter que fazer referência a toda a biblioteca System.Web:

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

2

Caso esteja trabalhando com o silverlight, use o seguinte:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.