none
Sobre o uso do AutoPostBack . . . RRS feed

  • Pergunta

  • Para obter melhor ajuda informarei primeiro o que desejo fazer e depois quais as dúvidas, grato.
    O que desejo fazer?
    1 - Preciso montar uma tela que registre um serviço a ser executado;
    2 - Após execução do serviço, informar a forma de pagamento que recebi o serviço;
    3 - Registrar os dados da NFe (vendas - emitida da minha empresa) e as formas de pagamento;
    4 - Registrar os dados da NFSe (serviços - emitida da minha empresa) e as formas de pagamento;
    5 - Registrar os dados da NFe (vendas - emitida por terceiro) e as formas de pagamento;
    6 - Registrar os dados da NFSe (serviços - emitida por terceiro) e as formas de pagamento;
    Estes passos formam a minha tela de trabalho, como notei que ficou muito extensa, adicionei os itens em um acordeon, pois o usuário clicaria no item desejado e abriria a tela conforme os passos devem ser informados. No caso sei que não precisaria usar o acordeon, mais a tela ficaria muito comprida, um rolamento muito elastico...rsrsrs... Ok, voltando ao foco....
    Como a programação na web é novidade para mim... decidi montar a seguinte tela, no item 1 Lançar os serviços, tenho uma lista de serviços já executados e no lado deste, os campos para mostrar os detalhes do item selecionado na lista, vou cadastrando os serviços e tudo está funcionando bem, a lista vai aumentando, caso queira alterar ou consultar um serviço, ao selecionar ele, mostro os detalhes nos campos ao lado.. estudando uns videos do Renato Haddad, foi passado a seguinte dica, no list para dar certo o autopostback deve estar true. OK, maravilha.... Mas ao implementar ainda os dados do serviço, mais abaixo tenho outra lista para vizualizar a forma de pagamento, da mesma forma utilizei o seguinte, uma lista com as formas e ao selecionar um item da lista mostra nos campos ao lado todos os detalhes da forma de pagamento, seguindo o raciocinio autopostback = true.
     
    E assim por diante, para cada item segue o mesmo raciocinio, no caso do item 2 NFe da minha empresa, tenho uma lista de notas ao lado os campos para ver os detalhes da nota e mais abaixo outra lista para ver as formas de pagamento desta NFe emitida pela minha empresa e seus campos ao lado para ver detalhes....
     
    idem para cada item..... ai o que achei melhor foi utilizar o acordeon, poderia usar o ControlPane..enfim.... detalhes de layout...
     
    Creio que esta será a primeira de uma série.... Caso os colegas que queiram me ajudar, me enviem seus emails para eu poder enviar o projeto, e receber as criticas de uso e de melhoria, para mim disponibilizar os fontes para quem quiser me ajudar não vejo nenhum problema.OK. Então foco nas dúvidas.... vamos lá....
    Minha dúvida?
    1 - tenho 6 itens, cada item terá 2 listbox, todos estarão true no autopostback, isso quer dizer que sempre dá uma piscada na tela, o acesso ao banco estará sendo feito, isso me preocupa, pois isso deve ficar lento com o passar dos tempos.... já estudei que se utilizar no Page_Load o if(!Page.IsPostBack)... mas em leituras entendi que quando tenho uma lista e preciso carregar ela uma unica vez, ai sim uso no Page_Load, mas no meu caso, estando no item 1 Serviços, lanço o serviço, já deu autpostback, pois o mesmo está true, caso eu desabilito para false, não fará a lista ser atualizada a cada inclusão de um serviço novo... e assim por diante... mas se fosse até ai tudo bem, mas o problema vem quando tendo um serviço selecionado e vou informar a forma de pagamento deste serviço, que poderá ser a vista ou em n condições, devo cadastrar cada parcela ... e cada vez que cadastro devo atualizar a lista de pagamentos do serviço selecionado... isso esta ok... funcionando.. mas percebi que nesta lista esta autopostback = true, e a outra lista de serviços tambem... ai na tela o que percebo é que aparenta dar o postback na lista de formas de pagamento e na lista de serviços ai não nunca conseguirei selecionar por exemplo a parcela 3 do serviço selecionado, pois o postback fará uma nova atualização das listas e não mostrará o desejado, acaba setando o primeiro item da lista, caso o tenha e não era pra ser isso... já executei vários testes, ativa um, desativa outro... e nada deu certo...    COMO RESOLVER ISSO??????  grato e no aguardo...

    By IESI . . .
    segunda-feira, 5 de setembro de 2011 16:49

Respostas

Todas as Respostas

  •  

    Está meio confuso...

     

    Se você quiser atualizar o listbox sem recarregar a pagina inteira novamente é só usar o controle UpdatePanel da biblioteca AjaxToolKit(http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Default.aspx).

    Veja um exemplo de como usa-lo:

     

    http://www.asp.net/ajax/videos/how-do-i-implement-dynamic-partial-page-updates-with-aspnet-ajax

     


    http://samuelcazelli.blogspot.com/
    sábado, 10 de setembro de 2011 10:07
  • Olá Valdir. Tdo bem?

    Olha este post aqui do Ricardo Oneda. Ele vai te exclarecer um pouco mais sobre como evitar PostBack:

    http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/4804ad27-3a77-40c7-80ae-bf6f1a045698/

     

    ABraço

    domingo, 11 de setembro de 2011 21:50
  • ola, Samuel.

    o updatepanel não me ajudou....

     

    o problema esta no segundo listbox, veja, preencho o primeiro listbox com dados.... de um DB... e tudo certo... seleciono um deles e posso mostrar os detalhes num campo...funciona perfeito..

    preencho o segundo a partir do primeiro, como ficasse um list e outro aninhado....

     

    então ao selecionar um item do segundo listbox, digo clico num item e ele posiciona no primeiro automaticamente.... nunca consigo selecionar um item alem do primeiro...creio que vai além do post e quase um refresh....

     

    estou vendo outras dicas pra ver se consigo reparar isso..

     

    mas agradeço sua ajuda, vlw...


    By IESI . . .
    segunda-feira, 12 de setembro de 2011 13:25
  • Grande, Gerson.

     

    blz, o link ajudou um pouco a esclarecer o fato, parece mesmo relacionado com o refresh da pagina e nao com o post como eu estava achando.... estou vendo com mais detalhes e pesquisando mais...

     

    grato pela ajuda, mas acho que deve ter algo mais simplificado para me ajudar....


    By IESI . . .
    segunda-feira, 12 de setembro de 2011 13:27