Dica Rápida: Chamando funções Javascript via código
Olá pessoal, nesta dica rápida veremos como chamar funções do Javascript via code-behind.
Às vezes, nas aplicações Web que desenvolvemos, de acordo com a lógica desenvolvida em nossos métodos, precisamos exibir uma mensagem ao usuário informando determinada situação.
Para exibirmos essa mensagem podemos utilizar o famoso alert, do Javascript. Confira na Listagem 01 a função JS e na Listagem 02 como chama-la de forma simples e rápida, em apenas uma linha de código.
Listagem 01 – Função JS
function Mensagem() {
alert('Registro gravado com sucesso!');
}
Listagem 02 – Chamando a função JS via código
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "mensagem", "Mensagem()", true);
É chamado o método RegisterClientScriptBlock, da classe ScriptManager, e são passados cinco parâmetros, que são descritos abaixo:
- O controle ou página em que o script está sendo registrado;
- O tipo que está sendo chamado no parâmetro (no caso indica a própria página);
- Uma string definindo um nome qualquer ao alert;
- A chamada a função da Listagem 01 (sempre passada entre aspas, já que ela é uma string);
- Um valor booleano que indica se as tags <script> e </script> deve ser adicionada a função. Para o exemplo acima deve ser passado o valor true. Veja na Listagem 03 onde é passado o valor false, passando o alert (fora da função) no parâmetro do método.
Listagem 03 – Chamando o alert via código
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "mensagem", "<script type=\"text/javascript\"> alert('Registro gravado com sucesso!'); </script>", false);
Rode o código e confira o resultado, como ilustra a Figura 01.
Figura 01 – Resultado obtido com os códigos das Listagens 02 e 03
Assim finalizo a dica rápida. Muito obrigado a todos!
Um abraço, e até o próximo artigo.
Wellington Balbo de Camargo
Publicado em 16/02/2012, em ASP.NET, C#, Javascript e marcado como C#, Dicas, Javascript, RegisterClientScriptBlock, ScriptManager. Adicione o link aos favoritos. 2 Comentários.




Assim o Codigo fica mais Limpo!!!!
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), “mensagem”, “alert(‘Registro gravado com sucesso!’);”, true);
Pois é, existem várias formas de se implementar a mesma coisa, obrigado pelo código!
Abraços.