Passagem de parâmetros na gridview utilizando o Ajax.

13/03/2010

Eu estou trabalhando em uma aplicação WEB onde preciso passar um parâmetro de uma gridview para outra página. Estou utilizando um buttonfield através do server.transfer(). Estava conseguindo realizar esta tarefa com êxito até o momento que comecei a utilizar o Ajax. Acho que o update panel está bloqueando alguma funcionalidade da grid, e está acorrendo o seguinte erro:



Como passo consertar isto? Abaixo está a código que utilizei:

aspx:

<asp:GridView ID="gdvListarBuscaAssociado" runat="server" CellPadding="4"
                         ForeColor="#333333" GridLines="None"
    style="margin-top: 0px" Width="834px"
                         AutoGenerateColumns="False"
                         onrowcommand="gdvListarBuscaAssociado_RowCommand"
                         onrowcreated="gdvListarBuscaAssociado_RowCreated"
                         >
                                 <RowStyle BackColor="#E3EAEB" />
                                 <Columns>
                                     <asp:BoundField DataField="nome_razaosocial" HeaderText="Nome/Razão Social" />
                                     <asp:BoundField DataField="nomefantasia" HeaderText="Nome Fantasia" />
                                     <asp:BoundField DataField="usu_cpf_cnpj" HeaderText="CPF/CNPJ" />
                                     <asp:BoundField DataField="id_insc_estadual" HeaderText="ID/Insc. Estadual" />
                                     <asp:BoundField DataField="email" HeaderText="Email" />
                                     <asp:BoundField DataField="cep" HeaderText="CEP" />
                                     <asp:BoundField DataField="endereco" HeaderText="Endereco" />
                                     <asp:BoundField DataField="bairro" HeaderText="Bairro" />
                                     <asp:BoundField DataField="telefone" HeaderText="Telefone" />
                                     <asp:BoundField DataField="celular" HeaderText="Celular" />
                                     <asp:BoundField DataField="fax" HeaderText="Fax" />
                                     <asp:ButtonField CommandName="CPF_CNPJ" Text="Detalhes" />
                                 </Columns>
                                 <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                                 <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
                                 <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333"
                             Width="2px" />
                                 <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                                 <EditRowStyle BackColor="#7C6F57" />
                                 <AlternatingRowStyle BackColor="White" />
                             </asp:GridView>





aspx.cs


    protected void gdvListarBuscaAssociado_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "CPF_CNPJ")
        {
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = gdvListarBuscaAssociado.Rows[index];
            string cpf_cnpj = row.Cells[2].Text;
            Session["usu_cpf_cnpj"] = cpf_cnpj;
            Server.Transfer("ExibirLocalizacaoAssociado.aspx", true);
        }
    }



Desde já agradeço a atenção,

abraços,

Bruno

Bruno Franco

Respostas

13/03/2010

Eleuterio Gonzalez

Veja esta materia talves ajude
http://guintherpauli.blogspot.com/2009/08/delphi-prism-firebird-aspnet-e-ajax.html
Responder Citar

15/03/2010

Marcio

A causa do erro apresentado é que quando você está usando Ajax você não pode utilizar Response.Write, Response.End, Server.Transfer, etc.
Analisando assim por cima acho que, neste caso, não seja necessário utilizar o updatepanel (visto que você vai mudar de página mesmo), mas dá uma pensada aí.




Responder Citar

16/03/2010

Netasper

Marcio esta certo, se vai mudar de pagina, tem que ter o RoundTrip, então, para que usar UpdatePanel?   []s
Responder Citar

23/03/2010

Soeusei62

Dentro da mesma página eu disponibilizei uma textbox onde será feita uma pesquisa incremental na grid. Assim eu utilizei o update panel dentro da grid pois senão a cada busca seria necessário dar um postback em toda a página.


att,

Bruno
Responder Citar

23/03/2010

Marcio

Ok, foi isso que eu quis dizer, olhando assim por cima, não parecia ter necessidade.
Mas de qualquer forma o erro que deu foi por causa de algum comando de Servidor que você usou dentro da área aonde está usando Ajax.
Coisas como Response.Write, Server.Transfer, etc.

Abraços
Responder Citar

27/03/2010

Bruno Franco

Então não existe nenhuma forma de passar parâmetros com o server.tranfer utilizando o ajax?

att,

Bruno
Responder Citar

29/03/2010

Netasper

Bruno, infelizmente não rola!!!   []s
Responder Citar