none
Como persistir dados em uma lista? RRS feed

  • Pergunta

  • Bom dia, estou com o seguinte problema, tenho um formulário onde o cliente pode inserir diversas vezes um determinado tipo de dado, no codebehind isso é gravado em uma lista. O problema é que cada vez que ele clicar no botão inserir ele vai recriar a lista e perde os dados anteriores. Gostaria de gravar todos os dados na lista e só então quando ele finalizar o cadastro que fosse salvo no banco. É possível fazer isso sem ter que usar uma tabela temporária?

    Desde já obrigado pela ajuda.

    quinta-feira, 21 de julho de 2016 12:08

Respostas

  • Bom dia,

    Segue um simples exemplo de como guardar e recuperar a lista da sessão:

    List<Cliente> clientes = new List<Cliente>();
    
    Session["ClientesSession"] = clientes;
    
    List<Cliente> listaRecuperada = (List<Cliente>)Session["ClientesSession"];
    
    listaRecuperada.Add(new Cliente());
    
    Session["ClientesSession"] = listaRecuperada;
    

    Espero ter ajudado!

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney quinta-feira, 21 de julho de 2016 12:34
    • Marcado como Resposta Kainã quinta-feira, 21 de julho de 2016 12:48
    quinta-feira, 21 de julho de 2016 12:34

Todas as Respostas

  • Bom dia,

    Sem utilizar uma tabela temporária, você pode incluir o registro na lista e guardar a lista em sessão.
    Quando o usuário concluir, você pega a lista da sessão, salva e limpa ou destrói a lista.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    quinta-feira, 21 de julho de 2016 12:18
  • É uma boa ideia, mas como faria no caso para ir adicionado dados na lista dentro da sessão?

    Desde já obrigado.

    quinta-feira, 21 de julho de 2016 12:26
  • Bom dia,

    Segue um simples exemplo de como guardar e recuperar a lista da sessão:

    List<Cliente> clientes = new List<Cliente>();
    
    Session["ClientesSession"] = clientes;
    
    List<Cliente> listaRecuperada = (List<Cliente>)Session["ClientesSession"];
    
    listaRecuperada.Add(new Cliente());
    
    Session["ClientesSession"] = listaRecuperada;
    

    Espero ter ajudado!

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney quinta-feira, 21 de julho de 2016 12:34
    • Marcado como Resposta Kainã quinta-feira, 21 de julho de 2016 12:48
    quinta-feira, 21 de julho de 2016 12:34
  • Cara, não havia pensado dessa forma. Salvava a lista na sessão mas não me dei conta que era só recuperar o valor da lista e adicionar outro valor. Muito obrigado.
    quinta-feira, 21 de julho de 2016 12:50