none
updatepanel com triggers RRS feed

  • Pergunta

  • Bom dia a todos, estou com a seguinte situação:

    tenho 4 Dropdownlist:

    DDL Categoria: que é populado no load da pagina!

    DDL Filtro: é populado com o valor selecionado no DDL Categoria

    DDL Serviço: é populado com o valor Selecionado no DDL Filtro

    DDL ListaServico: é populado com o valor Selecionado no DDL Serviço

    por fim tenho um botão para consultar e um gridview para exibir os resultados.

    Problema: atualmente todos os componentes que eu citei acima, estão dentro de um único updatepanel, ou seja carrega tudo(asynchronous), todas vez que algum dropdownlist é selecionado.

    Possível Solução: utilizar triggers no updatepanel.

    Dúvida: como eu faria isso? Pesquisei algumas coisas sobre o assunto, mas não entendi muito bem.

    eu teria que colocar cada componente(dropdownlist, button e gridview) dentro de um updatepanel(cada um teria o seu) para trabalhar com trigger?

    vou postar a abaixo um exemplo da minha pagina como estaria hoje:

    <asp:DropDownList runat="server" ID="Categoria" AutoPostBack="true" OnSelectedIndexChanged="meuMetodo"></asp:DropDownList>
    
    
    
    <asp:DropDownList runat="server" ID="Filtro" AutoPostBack="true" OnSelectedIndexChanged="meuMetodo"></asp:DropDownList>
    
    
    
    <asp:DropDownList runat="server" ID="Servico" AutoPostBack="true" OnSelectedIndexChanged="meuMetodo"></asp:DropDownList>
    
    
    
    <asp:DropDownList runat="server" ID="ListaServico" AutoPostBack="false"></asp:DropDownList>
    
    
    
    
    
    
    
    <asp:Button ID="consultar" runat="server" Text="Consultar Relatorio" OnClick="consultar" />
    
    
    
    <asp:GridView ID="resultados" runat="server"> </asp:GridView>
    
    
    
    

     Alguem pode fazer um exemplo para me ajudar, pode ate usar os componentes acima!

    Obrigado!.

     


    David Ramires
    quinta-feira, 9 de setembro de 2010 15:05

Respostas

  • Vc terá q modificar primeiro a propriedade do update panel de update mode para 'conditional'.

    acho que não é necessário colocar em vários updatespanels e sim em apenas um.

     

    Vc vai em outra propriedade do updatepanel q chama triggers.

    Lá vc vai add uma asyncpostbacktrigger p/ cada drop down

    tem duas propriedades para vc setar dentro do asyncpostback trigger

     

    a primeira é o controle

    no caso o drop down

    a segunda é o evento

    no caso é o indexchanged.

     

    espero ter ajudado

    • Sugerido como Resposta cassio augusto sábado, 11 de setembro de 2010 14:55
    • Marcado como Resposta Harley Araujo terça-feira, 14 de setembro de 2010 13:17
    quinta-feira, 9 de setembro de 2010 20:26
  • O q vc pode fazer é colocar kd dropdown em um updatepane com o UpdateMode = "Conditional". Quando a pessoa alterar o item do primeiro o evento dele será disparado intao vc joga os valores na outra drop e chama o método Update(); do pane daquele drop assim vc evita dar post em todo o conteudo.


    1000ton - MSN: milton.filho@msn.com
    • Sugerido como Resposta cassio augusto sábado, 11 de setembro de 2010 14:55
    • Marcado como Resposta Harley Araujo terça-feira, 14 de setembro de 2010 13:17
    quinta-feira, 9 de setembro de 2010 19:24

Todas as Respostas

  • O correto seria vc usar um updatePanel para cada componente
    quinta-feira, 9 de setembro de 2010 15:13
    Moderador
  • Junior, e a questão da trigger, como eu trabalho com ela nesses updatepanel?

    Obrigado!


    David Ramires
    quinta-feira, 9 de setembro de 2010 15:37
  • A trigger só será necessária se vc quiser que gere um postBack
    quinta-feira, 9 de setembro de 2010 16:37
    Moderador
  • O q vc pode fazer é colocar kd dropdown em um updatepane com o UpdateMode = "Conditional". Quando a pessoa alterar o item do primeiro o evento dele será disparado intao vc joga os valores na outra drop e chama o método Update(); do pane daquele drop assim vc evita dar post em todo o conteudo.


    1000ton - MSN: milton.filho@msn.com
    • Sugerido como Resposta cassio augusto sábado, 11 de setembro de 2010 14:55
    • Marcado como Resposta Harley Araujo terça-feira, 14 de setembro de 2010 13:17
    quinta-feira, 9 de setembro de 2010 19:24
  • Vc terá q modificar primeiro a propriedade do update panel de update mode para 'conditional'.

    acho que não é necessário colocar em vários updatespanels e sim em apenas um.

     

    Vc vai em outra propriedade do updatepanel q chama triggers.

    Lá vc vai add uma asyncpostbacktrigger p/ cada drop down

    tem duas propriedades para vc setar dentro do asyncpostback trigger

     

    a primeira é o controle

    no caso o drop down

    a segunda é o evento

    no caso é o indexchanged.

     

    espero ter ajudado

    • Sugerido como Resposta cassio augusto sábado, 11 de setembro de 2010 14:55
    • Marcado como Resposta Harley Araujo terça-feira, 14 de setembro de 2010 13:17
    quinta-feira, 9 de setembro de 2010 20:26
  • Obrigado a todos, vou realizar todas as sugestões e claro volto a postar aqui!
    David Ramires
    quinta-feira, 9 de setembro de 2010 20:51