none
Problemas RowDataBound com hyperlink no chrome RRS feed

  • Pergunta

  • Tenho um gridview onde tenho duas colunas onde tenho um hyperlink onde exibo dois relatórios "resumo" e "detalhado" para cada linha da gridview. Está com um comportamento estranho pois só funciona no IE no Chrome se clico a primeira vez em qualquer linha ele abre o pop-up com o relatório, mais depois a página fica travada, nenhum link funciona nem mesmo o menu, estranho porque no IE funciona perfeito, descobri esse erro pq um usuário reclamou.

    No aspx criei o gridview e dentro dele criei dois templatefield e dentro criei um itemtemplate onde tenho um asp:hyperlink

    No codebehind tenho isso :

    protected void Gv_Resumo_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.EmptyDataRow)
                {
                    int rowindex = e.Row.DataItemIndex;
                    string nmarqu = Convert.ToString(Gv_Resumo.DataKeys[rowindex].Values["ext_periodo"]);
                    
                    string urlresumo = "Extratoresumido.aspx?data=" + nmarqu.Trim();
                    HyperLink resumo = new HyperLink();
                    resumo = (HyperLink)e.Row.FindControl("LkbResumo");
                    resumo.NavigateUrl = "#";
                    resumo.Attributes.Add("OnClick", "window.open('" + urlresumo + "','PopupWindow','scrollbars=1,width=800,height=400')");
                    resumo.Text = "Resumo";
    
                    string url = "Extratoresultado.aspx?data=" + nmarqu.Trim();
                    HyperLink detalhe = new HyperLink();
                    detalhe = (HyperLink)e.Row.FindControl("LkbDetalhe");
                    detalhe.NavigateUrl = "#";
                    detalhe.Attributes.Add("OnClick", "window.open('" + url + "','PopupWindow','scrollbars=1,width=800,height=400')");
                    detalhe.Text = "Detalhe";
                }
            }

    Minha dúvida é porque só dá erro no chrome ?


    Junior

    quarta-feira, 18 de junho de 2014 18:24

Respostas

Todas as Respostas

  • Junior, boa noite.

    Lendo seu código não encontrei nada que possa dar um comportamento estranho como esse.

    Mas já que estou aqui, vou ao menos ajudar em uma outra coisa:

    Mude as linhas:

    resumo.NavigateUrl = "#";

    Para:

    resumo.NavigateUrl = "javascript:void(0)"

    Com relação ao problema em si, por acaso aparece alguma mensagem no console do Chrome ?

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    quarta-feira, 18 de junho de 2014 21:08
  • Diego não apresenta nenhum erro no console do chrome.

    Junior

    sexta-feira, 20 de junho de 2014 11:28
  • Junior, bom dia.

    Você chegou a fazer as alterações que eu postei ?

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    sexta-feira, 20 de junho de 2014 12:29
  • Diego olhando no console o comando onclick fica assim :

    <a id="MainContent_Gv_Resumo_LkbResumo_0" OnClick="window.open(&#39;Extratoresumido.aspx?data=02/06/2014 A 02/06/2014&#39;,&#39;PopupWindow&#39;,&#39;scrollbars=1,width=800,height=400&#39;)" href="javascript:void(0)">Resumo</a>
    

    Notei que em todo meu site links dentro de um gridview no chrome só abre o primeiro link clicado, qdo se fecha o pop-up a página do site fica congelada até mesmo o link que tenho para dar logout não funciona mais.


    Junior

    sexta-feira, 20 de junho de 2014 13:06
  • Diego acho que achei o problema tenho que achar agora uma solução, vamos lá na página "ExtratoResumo.aspx" no <body> tenho o seguinte comando onload="self.print();" 

    Caso o usuário simplesmente feche o pop-up sem cancelar a impressão ou imprimir ai a página principal fica congelada, caso contrário fica normal.

    Tenho que achar a solução para o chrome.


    Junior

    sexta-feira, 20 de junho de 2014 13:25
  • Enquanto você não fecha o pop-up, os links funcionam normalmente ?

    Se for isso, então existe algum script no pop-up que está fazendo algo que causa o comportamento.

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    sexta-feira, 20 de junho de 2014 13:26
  • Não Diego o problema não está fechar o pop-up e sim imprimir ou cancelar a impressão, pelo que andei pesquisando caso isso não seja feito o chrome ativa o bloqueador de pop-up e assim não abre mais nenhum, mais caso vc cancele ou imprima o relatório o comportamento fica normal.

    O que eu estava fazendo era exatamente isso, qdo ele abre o pop-up simplesmente eu o fecho, ai congela a página principal.

    Mais qdo abre o pop-up ele chama a impressora, se eu cancelar a impressão ou imprimir o relatório tudo fica normal.

    Talvés a solução seja tirar o self.print do load da página e colocar um botão para imprimir somente o relatório.


    Junior

    sexta-feira, 20 de junho de 2014 13:37
  • A solução para o problema foi tirar o sel.print() do load da página e colocar um botão imprimir.


    Junior

    • Marcado como Resposta Junior_luiz sexta-feira, 20 de junho de 2014 19:16
    sexta-feira, 20 de junho de 2014 19:15