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 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 o código 1 de 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. (Code 1)

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

Analisando o Code 1 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. Code 2.

 
String situacao = “meu nome”;
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "mensagem-1", "alert('" + situacao + "');", true);
Code 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 Code 3.

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

Code 3

O Code 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 tenha gostado, qualquer dúvida pode entrar em contato pelo site.