none
Como gravar items de um pedido MVC RRS feed

  • Pergunta

  • Sres., tenho um projeto em MVC onde tenho uma view com pedido e items do pedido.

    Para gravar o pedido, tudo bem, porem como faço para adicionar/e ou remover itens do pedido e gravar tudo?

    No web forms, utilizava-se um grid e com viewstate se manipulava o conteudo e depois armazenava no BD.

    Alguem poderia me informar com ofazer ou algum link de um artigo?

    Obrigado,


    Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo

    quarta-feira, 24 de outubro de 2012 16:07

Respostas

Todas as Respostas

  • Você está falando em construir uma lista no html e gravar isso?

    Se for isso é bem simples, você deve configurar o atributo name dos input assim:

    <input type="text" name="produto[0].Nome" />
    <input type="text" name="produto[1].Nome" />
    <input type="text" name="produto[2].Nome" />
    

    e no seu controller você recebe assim:

    public ActionResult Gravar(List<Produto> produto){
    
    }


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quarta-feira, 24 de outubro de 2012 16:16
  • Opa Murilo, obbrigado pelo retorno.

    Porem como faria para os inputs serem dinamicos?

    Ex.

    PEDIDO: [__________________]

    CLIENTE: [__________________]

    ITEM: [_______________] DESCRICAO[_____________] [ADICIONAR]

    |ACAO|ITEM            |DESCRICAO                 |

    | [X]   |01               |item 01                        |

    | [X]   |02               |item 02                        |

    [SALVAR]

    O ato de adicionar e remover do items do pedido são dinamicos, como voce faria isso? Ou voce vai na base cada vez que adiciona/Remove?

    Lembrando que não posso fazer isso, pois o pedido ainda não foi cadastrado, entao nao tenho chave para amarrar com os pedidos.

    No web forms, eu gravo em uma Viewstate com os items do pediso e salvo tudo no final. Como voce faria no contexto acima?


    Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo

    quarta-feira, 24 de outubro de 2012 16:47
  • Eu gosto de usar o knockout.js para isso, é super simples de fazer com ele:

    http://knockoutjs.com/examples/betterList.html


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quarta-feira, 24 de outubro de 2012 16:53
  • Vc tem que criar uma grid temporária em JS usando Ajax e Json p/ enviar para o controller.

    O KnockOut é bacana, mas para o meu cenário não serviu.

    Qualquer coisa deixa o seu e-mail que te mando o projeto que fiz de exemplo antes de implementar no projeto principal.


    quarta-feira, 24 de outubro de 2012 19:22
  • Bacana cara, mande sim.... vnmacedo@gmail.com

    Vlw.


    Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo

    quarta-feira, 24 de outubro de 2012 19:26
  • Mandei neste e-mail!

    Valew.

    quarta-feira, 24 de outubro de 2012 19:33
  • Paulo, o knockout é perfeito para criar tabelas com ajax.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quarta-feira, 24 de outubro de 2012 19:37
  • Murilo

    Eu cheguei a montar umas tabelas com ele, achei bem legal os exemplos no site.

    Mas agora não lembro o pq acabei não usando ele, relamente eh muito bom! Mas era algo q no KnockOut enjessava para fazer.

    Vinicius

    Deu Delivery report quando tentei enviar o e-mail.

    quarta-feira, 24 de outubro de 2012 19:57
  • Opa Paulo... estranho.. o email esta correto...

    Tem como me mandar entao no vnmacedo@hotmail.com e no vinicius.macedo@bicbanco.com.br

    vlw.


    Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo

    quinta-feira, 25 de outubro de 2012 12:19
  • Paulo... Se possivel, tem como postar seu projeto no Gist (https://gist.github.com/) ou na galeria (http://code.msdn.microsoft.com/)...

    Essa sua implementçao me interessa bastante e creio que vai ser util a outros leitores também.

    Grato


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée



    quinta-feira, 25 de outubro de 2012 13:25
    Moderador
  • Vinicius lhe mandei o e-mail.

    William, vou ver como funciona a galeria e ja coloco la e disponibilizo o link

    quinta-feira, 25 de outubro de 2012 15:42
  • http://code.msdn.microsoft.com/Grid-Temporria-em-JS-b48e837f
    quinta-feira, 25 de outubro de 2012 15:55