none
Response.Redirect abrindo em página _blank RRS feed

  • Pergunta

  • BOm dia pessoal!

      Já olhei em vários sites e não consigo entender direito, como resolve isto!

      Muitos mandam abrir via js, mas aí seria via Pop-up e neste caso os bloqueadores entram em ação. Por isso eu gostaria de abrir em uma nova aba. 

      No caso o resultado viria de um gridview (visualizar),  utilizo nele:

                                            <asp:TemplateField>
                                                <ItemTemplate>
                                                    <asp:LinkButton Text="Visualizar" CommandName="print" target="_blank"                                                
                                                    CommandArgument='<%# Eval("cod_pedido") %>'
                                                    runat="server" />
                                                </ItemTemplate>
                                            </asp:TemplateField>

     Com o commandname, quando cair em "print" quero abrir uma nova página passando por parametro o codigo, se alguém puder me ajudar eu agradeço muito..

     Vlw. 

    quarta-feira, 8 de agosto de 2012 12:28

Respostas

  • Oi rafael, não daria também... pq no caso estou num gridview, preciso passar estes dados via codebehind, talvez se for via javascrpt daria, conhece algum código? Não entendo muito de Jv ainda =\
    Claro que pode. Dentro de um TemplateField você pode colocar qualquer elemento e usar o <%# Eval("cod_pedido") %> como forma de montar sua QueryString. tenta aíq ue vc consegue. Conforme for tentando e não dando certo, cole aqui o código ou o print da tela de erro.

    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    • Marcado como Resposta Douglas Bertelli quarta-feira, 8 de agosto de 2012 14:49
    quarta-feira, 8 de agosto de 2012 14:21
  • coloca lá no url o caminho da sua página de popup

    Junior

    • Marcado como Resposta Douglas Bertelli quarta-feira, 8 de agosto de 2012 14:49
    quarta-feira, 8 de agosto de 2012 12:48

Todas as Respostas

  • coloca lá no url o caminho da sua página de popup

    Junior

    • Marcado como Resposta Douglas Bertelli quarta-feira, 8 de agosto de 2012 14:49
    quarta-feira, 8 de agosto de 2012 12:48
  • Como assim?

     

      Eu tinha feito o seguinte:

    <script type="text/javascript"> function PopupCentralizado(url, largura, altura) { var widthAtual = screen.width; var heightAtual = screen.height; var meioWidth = widthAtual / 2; var meioHeight = heightAtual / 2; var alturaJanela = altura / 2; var larguraJanela = largura / 2; var meioHeightCorrigido = meioHeight - alturaJanela - 30; var meioWidthCorrigido = meioWidth - larguraJanela; window.open(url, '', 'height=' + altura + ', width=' + largura + ', top=' + meioHeightCorrigido + ', left=' + meioWidthCorrigido + ',scrollbars=1'); return false; } </script>

    E no codebehind:
    ClientScript.RegisterClientScriptBlock(GetType(), "script", "<script type='text/javascript'>PopupCentralizado('show_pedido.aspx?cod_pedido=" + codped + "',700,600)</script>");

    Mas não funciona de jeito nenhum, não entendi o que vc quis dizer =\

    quarta-feira, 8 de agosto de 2012 12:55
  • Alguém, tem idéia de como resolver isto?
    quarta-feira, 8 de agosto de 2012 13:56
  • Coloca o target="_blank" na tag FORM da sua página com o LinkButton. E tira o target do LinkButton.

    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    quarta-feira, 8 de agosto de 2012 14:02
  • Oi rafael, bom dia!

      mas no método "print" eu colocaria apenas response.redirect("minhapagina"); ? 

     E onde seria essa tag form? eu não tenho ela.. ou tenho e não sei o que é?

    quarta-feira, 8 de agosto de 2012 14:11
  • Rapaaaaz, me perdoe, mas não havia entendido sua real necessidade. Entendi que você queria abrir o processamento dela em outra página. Na verdade, você quer abrir outra página passando apenas um dado como QueryString.

    Troque o LinkButton por HiperLink. Não vai precisar usar o Responde.Redirect. Apenas informe no HiperLink a URL que deseja, insira o parâmetro e pronto. Defina lá o Tarket.

    Eu não conheço o WebControl HiperLink para saber se ele dá suporte ao Target. Se não der, troque por HtmlControl que lá você poderá usar dentro da tag <A>.


    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    quarta-feira, 8 de agosto de 2012 14:14
  • Oi rafael, não daria também... pq no caso estou num gridview, preciso passar estes dados via codebehind, talvez se for via javascrpt daria, conhece algum código? Não entendo muito de Jv ainda =\
    quarta-feira, 8 de agosto de 2012 14:16
  • Oi rafael, não daria também... pq no caso estou num gridview, preciso passar estes dados via codebehind, talvez se for via javascrpt daria, conhece algum código? Não entendo muito de Jv ainda =\
    Claro que pode. Dentro de um TemplateField você pode colocar qualquer elemento e usar o <%# Eval("cod_pedido") %> como forma de montar sua QueryString. tenta aíq ue vc consegue. Conforme for tentando e não dando certo, cole aqui o código ou o print da tela de erro.

    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    • Marcado como Resposta Douglas Bertelli quarta-feira, 8 de agosto de 2012 14:49
    quarta-feira, 8 de agosto de 2012 14:21
  • Ok.. vou tentar aqui...
    quarta-feira, 8 de agosto de 2012 14:23
  • Hahaaa.. Obrigado a todos pela a ajuda! Para aqueles que procurarem a solução é:

                                            <asp:TemplateField>
                                                <ItemTemplate>
                                                    <asp:HyperLink NavigateUrl= '<%# Eval("cod_pedido", "~/show_pedido.aspx?cod_pedido={0}") %>' Text="Visualizar"  Target="_blank"                                                
                                                    runat="server" />
                                                </ItemTemplate>
                                            </asp:TemplateField>

    Onde "cod_pedido" é a variável que estou passando para a outra página.. Abraçoooo \o /  

    Vlw. Rafael.

    quarta-feira, 8 de agosto de 2012 14:50