none
RegisterStartupScript X RegisterStartupScriptBlock RRS feed

  • 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.
    quinta-feira, 18 de julho de 2013 15:41

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
    sexta-feira, 19 de julho de 2013 13:21

Todas as Respostas

  • Iai Pnet, blxx cara.

    O RegisterClientScriptBlock registra o script da página logo na abertura da tag <form> e o RegisterStartupScript registra o script antes do fechamento da tag <form> . eu normalmente sempre uso RegisterStartupScript.

    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




    quinta-feira, 18 de julho de 2013 16:55
  • 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.

    sexta-feira, 19 de julho de 2013 11:53
  • 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
    sexta-feira, 19 de julho de 2013 13:21
  • Q bom mano :)

    Naum esquece de fechar a thread para mantermos o fórum em ordem blxxx abraço ;)


    Diego Almeida Barreto System Analyst / Software Developer

    sexta-feira, 19 de julho de 2013 14:17