none
Como fazer OnItemCommand do repeater ser uma Trigger update painel ? RRS feed

  • Pergunta

  • Meu código aspx...

    <asp:UpdatePanel runat="server" ID="upPostagem" UpdateMode="Conditional" ChildrenAsTriggers="false" > <Triggers> <asp:AsyncPostBackTrigger ControlID="rptPostagem" EventName="ItemCommand" /> </Triggers> <ContentTemplate> <asp:Repeater runat="server" ID="rptPostagem" OnItemCommand="acoesRptPostagem" > <ItemTemplate> <asp:LinkButton runat="server" id="lbPostagemExcluir" CommandName="excluirPostagem" id_postagem='<%# DataBinder.Eval(Container.DataItem, "id_postagem")%>' Text="X" ></asp:LinkButton> </ItemTemplate>

    </asp:Repeater> </ContentTemplate> </asp:UpdatePanel>

    codigo behind

         public void acoesRptPostagem(object sender, RepeaterCommandEventArgs e)
            {
                if (e.CommandName == "excluirPostagem")
                {
                    LinkButton lkexcluir;
                    lkexcluir = (LinkButton)e.Item.FindControl("lbPostagemExcluir");
                    int id = Convert.ToInt32(lkexcluir.Attributes["id_postagem"]);
                    ent_postagem = postagem.Find(p => p.id_postagem == id).FirstOrDefault<postagem>();
                    postagem.Delete(ent_postagem);
                    postagem.SaveChanges();
                }
            }

    O código simplesmente ignora que existe uma triigger para atualizar e não executa em tempo de execução, ou seja, funciona mais dá post. Queria que não desse o post de página. Alguma sugestão?

    quarta-feira, 29 de agosto de 2012 18:40

Respostas

  • E ae cara, seguinte, ele não chama o seu evento ItemCommand certo?

    Eu fiz uns testes aqui e funcionou cara, ele dispara o método normalmente, pra vc ter uma idéia, meu aspx ficou da seguinte forma:

    <asp:ScriptManager ID="ScriptManager1" runat="server">    </asp:ScriptManager> 
       <asp:UpdatePanel ID="UpdatePanel1" runat="server">   
         <ContentTemplate>       
         <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"> 
                   <ItemTemplate> 
                       <asp:LinkButton runat="server" ID="lbPostagemExcluir" CommandName="excluirPostagem" id_postagem='<%# DataBinder.Eval(Container.DataItem, "City")%>' Text='<%# DataBinder.Eval(Container.DataItem, "City")%>'>
    </asp:LinkButton> 
                   </ItemTemplate>     
           </asp:Repeater>   
         </ContentTemplate> 
       </asp:UpdatePanel>


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    quinta-feira, 30 de agosto de 2012 16:21

Todas as Respostas

  • E ae amigão, blz cara?

    Ja tentou mudar a sua propriedade do UpdatePanel ChildrenAsTriggers para true?

    <asp:UpdatePanel runat="server" ID="upPostagem" UpdateMode="Conditional"  ChildrenAsTriggers="true"   >


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    quinta-feira, 30 de agosto de 2012 12:14
  • O cara, já tentei, não funciona.
    quinta-feira, 30 de agosto de 2012 15:29
  • E ae cara, seguinte, ele não chama o seu evento ItemCommand certo?

    Eu fiz uns testes aqui e funcionou cara, ele dispara o método normalmente, pra vc ter uma idéia, meu aspx ficou da seguinte forma:

    <asp:ScriptManager ID="ScriptManager1" runat="server">    </asp:ScriptManager> 
       <asp:UpdatePanel ID="UpdatePanel1" runat="server">   
         <ContentTemplate>       
         <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"> 
                   <ItemTemplate> 
                       <asp:LinkButton runat="server" ID="lbPostagemExcluir" CommandName="excluirPostagem" id_postagem='<%# DataBinder.Eval(Container.DataItem, "City")%>' Text='<%# DataBinder.Eval(Container.DataItem, "City")%>'>
    </asp:LinkButton> 
                   </ItemTemplate>     
           </asp:Repeater>   
         </ContentTemplate> 
       </asp:UpdatePanel>


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    quinta-feira, 30 de agosto de 2012 16:21
  • Ele executa sem dar poste? Porque, por aqui tá dando post. Cade as triggers?
    quinta-feira, 30 de agosto de 2012 16:47
  • Então cara, aqui ele não da o post e chama o evento, eu não precisei das triggers, normalmente eu uso triggers para eventos que ocorrem de fora do UpdatePanel.

    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    quinta-feira, 30 de agosto de 2012 16:50
  • Continua a dar post. Tem certeza que por ai nao tá dando post? As vezes tá rápido demais e não é perceptível...rs
    quinta-feira, 30 de agosto de 2012 17:06
  • Não, realmente não esta dando o post, certeza que esta funcionando aqui.

    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    quinta-feira, 30 de agosto de 2012 17:09
  • Cara que frustrante, não consigo..mas valew a força!
    quinta-feira, 30 de agosto de 2012 17:21
  • Amigão, não desiste não, seguinte, tenta refazer o código, as vezes a gente esqueçeu de algum detalhe, esse tipo de coisa acontece mesmo...

    Veja ae e qualquer coisa posta aqui!!!


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    quinta-feira, 30 de agosto de 2012 17:37
  • O amigo, valew a força. Descobri depois de ter desistido. Era o LinkButton, Troquei para um Button e funcionou. Não sei por que raios ele não aceita o link, mas tá blz. Abraço!
    terça-feira, 4 de setembro de 2012 16:02
  • Owwww tuco, que massa cara, parabens!!!!

    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    terça-feira, 4 de setembro de 2012 16:03