Dev (Back & Front)ARTIGO

Dica ASP.NET para alerta e nova página

Olá, pessoal, hoje vou falar um pouco das coisas simples, mas
que se tornam complicadas quando colocamos o objeto Ajax do .NET na aplicação. Um
exemplo disso são as mensagens em javascript, ou as que surgem no momento de abrir um popup. Antes
de colocar o objeto <ScriptManager> ou o <ToolkitScriptManager>,
todas as mensagens javascript de alerta ou script para abrir popup funcionam
sem qualquer problema.

Depois
de colocar as tags e usar o <UpdatePanel> e o <ContentTemplate>,
aquelas mensagens que funcionam deixam de funcionar apresentando apenas um erro
na tela. Todo esse processo é mostrado
quando a mensagem javascript está dentro do código VB.NET ou C#.NET.

O
objetivo é mostrar uma forma simples e fácil de como deixar funcionando os
comandos javascripts dentro do C#.NET.

Usado: Linguagem
C#.NET, ferramenta Visual Studio 2010, plataforma ASP.NET (web).

A
mensagem deve vir de dentro do código de programação, como na imagem 1. Veja no
código 1 como tem que ficar.

Imagem 1

Ao
clicar no botão da página aspx, o campo não foi preenchido e, de acordo com a
regra do sistema, precisa ser preenchido pelo usuário. Foi usado o ScriptManager.RegisterClientScriptBlock
passando alguns parâmetros particulares para exibição da mensagem mantendo
ainda os dados da tela aspx.

ScriptManager.RegisterClientScriptBlock(this, this.GetType(),"sua-mensagem", "alert('sua mensagem qualquer')", true);

Código 1

Analisando
o Código 1, veja que a parte onde fica “sua-mensagem” é apenas um controle, como se fosse
um id de objeto de tela, ou seja, não deve ser repetido na mesma página. Não é necessário passar o
<script>javascript:</script>, basta colocar o alert ou confirm para
quem usa.

Para
exibir uma mensagem na tela pegando alguma variável do próprio C#.NET, basta
utilizar as aspas e a concatenação:

String situacao = “meu nome”;

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "mensagem-1", "alert('" + situacao + "');", true);

Código 2

Esse código resolveu o
meu problema para exibição de alerta javascript na página. Ele pode resolver o
seu também.  Finalizando, para abrir
outra página executando dentro do código C#.NET, veja o código seguinte:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "abrir-1", "window.open('pagina.aspx')", true);

Código 3

O Código 3 executa o
window.open chamando a página. Em resumo, todo código javascript que quiser
colocar dentro do C#.NET pode ser colocado de acordo com os exemplos acima.

Espero que tenham gostado, qualquer dúvida pode entrar em contato pelo site.

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