none
[RESOLVIDO] Executar uma função JS dentro de um OnCommand RRS feed

  • Pergunta

  • Boa tarde galera, 

    Tenho um GridView com um ImageButton que utiliza o OnCommand para executar o que eu desejo.

    Até aí funciona perfeito. 
    Porém dentro do método OnCommand que eu tenho eu faço um redirecionamento para outra página passando alguns parâmetros para essa página. Tudo certo aí também.

    O problema é quando eu faço o redirecionamento, ele vai para outra página e sai da página em que estou. Eu queria que abrisse uma nova janela do navegador.

    Minha aplicação já faz isso em outro momento, mas é durante o OnClick de um botão, eu coloco para abrir um JavaScript que criei. Esse JS abre uma nova janela do tamanho e posição que preciso.

    Não estou conseguindo usar esse JS nesse outro método que utilizo o OnCommand.

    Existe alguma maneira de conseguir isso? Redirecionar para a página que quero abrindo uma nova janela do tamanho e posição que eu quero?

    Obrigado!

    protected void PrintBarcode_Command(object sender, CommandEventArgs e)
    {
         if (e.CommandName == "Imprimir")
         {
              string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ',' });
              tr.c5tbl374 = commandArgs[0];
              tr.c2tbl372 = commandArgs[1];
              tr.c1tbl374 = Convert.ToInt32(commandArgs[2]);
              tr.c2tbl375 = commandArgs[3];
              tr.NomeFantCli = (string)Session["Retorno_Login_NomeFantasia"];
    
              //Response.Redirect("impcod.aspx", false);
              //Aqui quero redirecionar para uma nova janela
         }
    }

    Cleverson Darsie


    quinta-feira, 5 de junho de 2014 18:14

Respostas

  • Você pode usar o "ClientScript.RegisterClientScriptBlock" pra executar um javascript.

    exemplo: 

    ClientScript.RegisterClientScriptBlock(This.Page.GetType(), "PopUp", "window.open('impcod.aspx','impcod','width=800,height=600');", True)

    • Sugerido como Resposta Diego Murakami quinta-feira, 5 de junho de 2014 19:05
    • Marcado como Resposta Cleverson Darsie quinta-feira, 5 de junho de 2014 19:07
    quinta-feira, 5 de junho de 2014 18:31
  • Obrigado Edno!

    Encontrei também uma opção para rodar diretamente meu JS:

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "script", "<script Language='JavaScript'>Javascript: Etiqueta('impcod.aspx')</script>");

    Com essa opção que você deu eu só não consegui fazer ela abrir centralizada na tela, meu JS abre.

    Você sabe como eu posso fazer abrir centralizado utilizando seu exemplo?



    Cleverson Darsie

    quinta-feira, 5 de junho de 2014 18:50

Todas as Respostas

  • Você pode usar o "ClientScript.RegisterClientScriptBlock" pra executar um javascript.

    exemplo: 

    ClientScript.RegisterClientScriptBlock(This.Page.GetType(), "PopUp", "window.open('impcod.aspx','impcod','width=800,height=600');", True)

    • Sugerido como Resposta Diego Murakami quinta-feira, 5 de junho de 2014 19:05
    • Marcado como Resposta Cleverson Darsie quinta-feira, 5 de junho de 2014 19:07
    quinta-feira, 5 de junho de 2014 18:31
  • Obrigado Edno!

    Encontrei também uma opção para rodar diretamente meu JS:

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "script", "<script Language='JavaScript'>Javascript: Etiqueta('impcod.aspx')</script>");

    Com essa opção que você deu eu só não consegui fazer ela abrir centralizada na tela, meu JS abre.

    Você sabe como eu posso fazer abrir centralizado utilizando seu exemplo?



    Cleverson Darsie

    quinta-feira, 5 de junho de 2014 18:50