none
Javascript em tempo de execução e duas dúvidas RRS feed

  • Pergunta

  • Pessoal eu achei uma forma de fazer o que preciso, montar um JavaScript e coloca-lo na página de forma dinâmica. 

    No evento OnClick do botão eu faço o seguinte código no CodeBehind

          string script = @"<script language=""Javascript"">
                            function TestJScript()
                              { alert('Just for testing'); }
                            </script>";
          Page.RegisterStartupScript("experiment", script);
          btnSample2.Attributes.Add("onClick", "TestJScript()");

    OK, funciona. Em partes mas funciona. O script é adicionado à página e o segundo clique é que a ação é executada. O ideal é que o funcionamento fosse de primeira, ou seja, a mensagem seria exibida no momento do clique e não no segundo clique. Alguém já fez isto? Esta é a primeira dúvida.

    A segunda: Mas não muito para o que preciso. Após o clique do botão eu preciso que página não seja recarregada. É possível?

    quinta-feira, 14 de março de 2013 15:12

Todas as Respostas

  • Se vc esta utilizando webforms basta colocar no load da página, acredito que vai dar certo.

    Abraço!

    quinta-feira, 14 de março de 2013 16:46
  • Vou tentar, acho que vai sim me atender. 
    quinta-feira, 14 de março de 2013 16:50
  • Cara,

    Faça isso:

    string script = @"<script language=""Javascript""> function TestJScript(){

    alert('Just for testing');

    } </script>";

    btnSample2.Attributes.Add("onClick", "TestJScript()");

    Dentro do seu PageLoad, pois assim que a sua página for carregada pela primeira vez, logo de inicio já estará adicionando a função ao seu botão.

    Para não recarregar a página novamente, faça isso no PageLoad:

    if(!IsPostBack)
    {
      //Aqui os seus métodos 
    }

    Coloque todos os seus métodos que estão dentro do PageLoad dentro desse if no proprio PageLoad.

    A página irá dar um post porém não será executado nenhuma ação a não ser na primeira vez que estará acessando a página.

    Se precisar depois que seja feito alguma coisa no pageload apó o click de algum botão, apenas coloque um else no if.


    Atenciosamente, Samuel dos Anjos

    quinta-feira, 14 de março de 2013 16:51