Passagem de parâmetros na gridview utilizando o Ajax.

.NET

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

Bruno Franco

Curtidas 0

Respostas

Eleuterio Gonzalez

Eleuterio Gonzalez

13/03/2010

Veja esta materia talves ajude
http://guintherpauli.blogspot.com/2009/08/delphi-prism-firebird-aspnet-e-ajax.html
GOSTEI 0
Marcio Silveira

Marcio Silveira

13/03/2010

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í.




GOSTEI 0
Netasper

Netasper

13/03/2010

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

Soeusei62

13/03/2010

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
GOSTEI 0
Marcio Silveira

Marcio Silveira

13/03/2010

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
GOSTEI 0
Bruno Franco

Bruno Franco

13/03/2010

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

att,

Bruno
GOSTEI 0
Netasper

Netasper

13/03/2010

Bruno, infelizmente não rola!!!   []s
GOSTEI 0
POSTAR