Usuário com melhor resposta
Erro ao clicar em um botão dentro de um Gridview

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
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.
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
-
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:
- Coloquei o EnableEventValidation="false" no começo da página
- Inseri outro update panel que englobava todos os itens da página: <asp:UpdatePanel runat="server" ID="uppAll" UpdateMode="Conditional">
- 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
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.
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
-
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:
- Coloquei o EnableEventValidation="false" no começo da página
- Inseri outro update panel que englobava todos os itens da página: <asp:UpdatePanel runat="server" ID="uppAll" UpdateMode="Conditional">
- 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