Dev (Back & Front)ARTIGO

Resources como padrão de mensagens

Olá, pessoal! Vamos ver neste artigo um pouco mais sobre resources
como um padrão de mensagens dentro de um software.

Em artigos anteriores, tratamos o assunto de forma diferente, porém funcional. O Resources foi tratado como internacionalização de aplicativo, ou
seja, colocar coisas em português, inglês e espanhol. A proposta de hoje é deixar o Resources como um repositório de
mensagens do sistema, no qual todas as mensagens ficam registradas no arquivo do
projeto. Essas mensagens podem ser completadas com parâmetros e tudo mais.

Referências:

  • Visual Studio
    .NET 2010
  • Linguagem:
    C#.NET
  • Plataforma:
    ASP.NET

Obs.: pode ser
usado na plataforma Windows Forms e Web Forms.

Seguem os links dos outros artigos
publicados:

Nosso primeiro passo para usar Resources em um projeto web é clicar com
o botão direito em cima do projeto e selecionar Properties.

Em seguida, veremos em uma das abas ao
lado esquerdo a opção chamada Resources. É nesse lugar que ficam as mensagens colocadas para melhor controle e evitam os
famosos arquivos de mensagens no projeto, cada um localizado diferentemente.

Dentro do Resources existe o nome e o valor, conforme a imagem abaixo:

 

No campo Name, procure preencher sem espaços e sem caracteres especiais. Esse nome é que aparecerá junto ao código C#.NET. No campo Value, pode ser colocado qualquer
caracter sem qualquer problema.

Note que na segunda linha existe uma
chave e o valor {0}. Esse é o “truque” para colocar ou acrescentar mais dados na
mensagem dinamicamente. Isso quer dizer que pode ser concatenado outro valor
junto à mensagem. Agora, salve o arquivo depois de colocar os valores.

Dentro da página Default.aspx, mais propriamente dentro
do arquivo .cs, pode ser pega a
mensagem colocada no Resources.

Response.Write(Resources.MeuTeste.ToString());

O
valor da variável chamada MeuTeste no arquivo de Resoreces aparece na tela. Para concatenar alguma mensagem com a
variável PassandoValor mostrado na anterior, é necessário criar um código diferente. 

Response.Write(string.Format(CultureInfo.CurrentCulture,
Resources.PassandoValor, "alguma coisa"));

Note que foi colocada a classe CultureInfo.CurrentCulture, o string.Format, o Resources.PassandoValor e a string
que precisa ser passada para concatenação. Nesse caso, usei como “valor alguma coisa”.

Pode-se colocar como mensagem de
alerta em javascript na tela utilizando o Resources
e passando alguns valores. (Código 3).

string a = "<script>alert('" + string.Format(CultureInfo.CurrentCulture, Resources.PassandoValor, "alguma coisa") + "');</script>";



ClientScript.RegisterClientScriptBlock(GetType(), "alert", a);

E agora segue
o resultado final.

 

Espero que tenham gostado. Se tiverem dúvidas, deixem um comentário.

Com mais de 20 anos trabalhando no mercado de tecnologia. Mestre em Engenharia Elétrica voltada para o mundo mobile, com mais de 20 livros publicados e cerca de 700 artigos publicados com intuito de ajudar àqueles que querem aprender a programar (site, software, desktop, serviços, api e mobile). Site pessoal: https://www.mauriciojunior.net - MVP, MCAD, MCP Microsoft

Ver perfil