none
Erro ao clicar em um botão dentro de um Gridview RRS feed

  • Pergunta

  • Pessoal,

    Possuo seguinte gridview abaixo dentro de um update panel:

     <asp:UpdatePanel runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional" ID="uppGdvUsuarios">
                                    <Triggers>
                                        <asp:AsyncPostBackTrigger ControlID="ddlFiltroCargo" />
                                         <asp:AsyncPostBackTrigger ControlID="btnFiltroNome" />
                                         <asp:AsyncPostBackTrigger ControlID="btnFiltoSobrenome" />
                                         <asp:AsyncPostBackTrigger ControlID="btnFiltroLogin" />
                                    </Triggers>
                                    <ContentTemplate>
                                        <asp:GridView runat="server" CssClass="table table-bordered table-hover"
                                            ID="gdvUsuarios" OnRowCommand="gdvUsuarios_RowCommand" OnRowDataBound="gdvUsuarios_RowDataBound" AutoGenerateColumns="false">
                                            <Columns>
                                                <asp:BoundField HeaderText="Nome" DataField="Nomeusuario" />
                                                <asp:BoundField HeaderText="Sobrenome" DataField="sobrenome" />
                                                <asp:BoundField HeaderText="Login" DataField="login" />
                                                <asp:BoundField HeaderText="E-mail" DataField="email" />
                                                <asp:BoundField HeaderText="Cargo" DataField="NomeCargo" />
                                                <asp:BoundField HeaderText="Telefone" DataField="telefone" />

                                                <asp:TemplateField HeaderText="">
                                                    <ItemTemplate>
                                                        <asp:Button runat="server" CausesValidation="false" CommandName="Editar" CommandArgument='<%# Eval("login") %>' CssClass="btn btn-block btn-primary" ID="btnEditarUsuario" Text="Editar" />
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                                <asp:TemplateField HeaderText="">
                                                    <ItemTemplate>
                                                        <asp:Button runat="server" CausesValidation="false" CommandName="Excluir" CommandArgument='<%# Eval("login") %>' CssClass="btn btn-block btn-danger" OnClientClick="return confirm('Tem certeza que deseja exlcuir esse usuário?');" ID="btnExcluirUsuario" Text="Excluir" />
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                            </Columns>
                                        </asp:GridView>
                                    </ContentTemplate>
                                </asp:UpdatePanel>

    O Grid traz as informações corretas, quando ativo as triggers faço o grid atualizar corretamente sem dar postback na página toda, mas desde que coloquei o Update Panel, ao clicar em um dos botões btnEditarUsuario ou btnExcluirUsuario o erro é gerado:

    

    Alguém pode me ajudar?


    • Editado gjunior022 quarta-feira, 20 de maio de 2015 00:12
    quarta-feira, 20 de maio de 2015 00:09

Respostas

  • Bom dia,

    No link abaixo um usuário estava com esse mesmo problema. Dê uma olhada na solução adotada por ele.

    http://forum.imasters.com.br/topic/328306-resolvidoproblemas-com-eventos-em-uma-paginao/

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    • Marcado como Resposta gjunior022 quarta-feira, 20 de maio de 2015 23:23
    quarta-feira, 20 de maio de 2015 10:30
  • Olá Bruno,

    Eu li o exemplo que você me mandou. Mas na verdade não obtive sucesso ao simplesmente dar um "bind()" no gridview. Após tentar algumas vezes e debugar várias vezes, tentei uma solução que aparentemente deu certo:

    1. Coloquei o EnableEventValidation="false" no começo da página
    2. Inseri outro update panel que englobava todos os itens da página:  <asp:UpdatePanel runat="server" ID="uppAll" UpdateMode="Conditional">
    3. Após executar todo o código ativado pelo botão dentro do GridView, inseri o comando:  uppAll.Update();

    E deu certo! 

    Obrigado pela ajuda, abs.

    • Marcado como Resposta gjunior022 quarta-feira, 20 de maio de 2015 23:24
    quarta-feira, 20 de maio de 2015 23:23

Todas as Respostas

  • Bom dia,

    No link abaixo um usuário estava com esse mesmo problema. Dê uma olhada na solução adotada por ele.

    http://forum.imasters.com.br/topic/328306-resolvidoproblemas-com-eventos-em-uma-paginao/

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    • Marcado como Resposta gjunior022 quarta-feira, 20 de maio de 2015 23:23
    quarta-feira, 20 de maio de 2015 10:30
  • Olá Bruno,

    Eu li o exemplo que você me mandou. Mas na verdade não obtive sucesso ao simplesmente dar um "bind()" no gridview. Após tentar algumas vezes e debugar várias vezes, tentei uma solução que aparentemente deu certo:

    1. Coloquei o EnableEventValidation="false" no começo da página
    2. Inseri outro update panel que englobava todos os itens da página:  <asp:UpdatePanel runat="server" ID="uppAll" UpdateMode="Conditional">
    3. Após executar todo o código ativado pelo botão dentro do GridView, inseri o comando:  uppAll.Update();

    E deu certo! 

    Obrigado pela ajuda, abs.

    • Marcado como Resposta gjunior022 quarta-feira, 20 de maio de 2015 23:24
    quarta-feira, 20 de maio de 2015 23:23