Usuário com melhor resposta
RegisterStartupScript X RegisterStartupScriptBlock

Pergunta
-
Pessoal, boas. Precisava exibir um Alert e na minha aplicação, todos os Alerts são com RegisterStartupScript. Acontece que em uma página, não estava funcionando. Ai troquei por RegisterStartupScriptBlock e funcionou. Acontece que algumas coisas aconteceram.
1) Quando era apenas o RegisterStartupScript, a mensagem aparecia, mas conseguia ver o a página por baixo. No RegisterStartupScriptBlock, a mensagem aparece, mas em uma tela totalmente em branco. Só depois de pressionar o botão OK é a página aparece.
2) Porque com RegisterStartupScript a mensagem não aparecia?
3) A página não havia ainda carregada e um amigo me disse que a diferença entre ambas é uma só se carrega uma vez e a outra quantas vezes eu queira. É verdade isso?
Qualquer ajuda é bem-vinda.
Respostas
-
Resolvi. Acreditem, faltava um ;.
private void Alert(string msg)
{
ClientScript.RegisterStartupScript(base.GetType(), "alert_msg", string.Format("alert('{0}');", msg), true);
}O ; após o ...."alert('{0}');==>> Esse cara estava faltando.
- Marcado como Resposta pnet sexta-feira, 19 de julho de 2013 15:58
Todas as Respostas
-
Iai Pnet, blxx cara.
O
RegisterClientScriptBlock
registra o script da página logo na abertura da tag<form>
e oRegisterStartupScript
registra o script antes do fechamento da tag<form>
. eu normalmente sempre usoRegisterStartupScript.
ClientScript.RegisterStartupScript(typeof(Page), "Alerta", "alert('Sua Mensagem');", true); ClientScript.RegisterClientScriptBlock(typeof(Page), "Alerta", "alert('Sua Mensagem');", true); // se estiver usando UpdatePainel ScriptManager.RegisterStartupScript(this, this.GetType(), "scriptAjax", "alert('Sua Mensagem');", true);
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Sua Mensagem');", true);
Grande Agraço :)
Diego Almeida Barreto System Analyst / Software Developer
- Sugerido como Resposta Diego de Almeida Barreto (Lewis) quinta-feira, 18 de julho de 2013 16:56
- Editado Diego de Almeida Barreto (Lewis) quinta-feira, 18 de julho de 2013 18:33 correção
-
O problema é que se eu uso o ClientScript.RegisterStartupScript a mensagem não sobe, mas o outro eu consigo dar a mensagem, com um problema.
Quando se usa ClientScript.RegisterStartupScriptBlock, aparece a mensagem, porem fica uma tela em branco, quando
usa ClientScript.RegisterStartupScript em outra tela por exemplo, aparece a tela por baixo. Acontece que nessa tela em questão,
não consigo subir a mensagem.
-
Resolvi. Acreditem, faltava um ;.
private void Alert(string msg)
{
ClientScript.RegisterStartupScript(base.GetType(), "alert_msg", string.Format("alert('{0}');", msg), true);
}O ; após o ...."alert('{0}');==>> Esse cara estava faltando.
- Marcado como Resposta pnet sexta-feira, 19 de julho de 2013 15:58
-