none
Problema ao alterar um produto com foto RRS feed

  • Pergunta

  • ola, boa noite galera do MSDN

    to com problema ao querer alterar um produto com foto, eu salvo a foto no bd como string, quando eu altero posso passa uma foto diferente, que da a mensagem de ERRORMESSAGE que passei no requerid, pra editar o produto eu tenho essa ActionResult, ah pra criar o produto eu faço dessa maneira tbm

    [HttpPost]
            public ActionResult ProdutoEditar(Produto produto)
            {
                var image = WebImage.GetImageFromRequest();
                if (image != null)
                {
                    var filename = Path.GetFileName(image.FileName);
                    var path = Path.Combine(Server.MapPath("~/content/produtos/"), filename);
                    image.Save(path);
                    produto.foto = filename;
    
                }
    
                if (ModelState.IsValid)
                {
                    var prod = new ProdutoDAO();
                    prod.Alterar(produto);
                    prod.SalvarAlteracao();
                    return RedirectToAction("Produtos");
                }
    
                var subcategorias = (new SubCategoriaDAO()).GetAll();
                ViewBag.SubCategorias = subcategorias;
                var produtos = (new ProdutoDAO()).GetAll();
                ViewBag.Produtos = produtos;
                return View(produto);
            }
    


    terça-feira, 13 de setembro de 2011 03:57

Respostas

  • Esse problema ocorre porque na hora que você recupera o objeto no banco, ele vem com o ID  preenchido (o id é igual à sua pk).

    Esse problema geralmente acontece quando se usa o NHibernate, pois ele salva em um 'cache' esse dado.

    Para resolver isso, tenta recuperar o objeto que você vai alterar, e a partir desse objeto, crie outra instância e passa todos os valores, inclusive o ID e tente salvar.

    entendeu?

    Atenciosamente,


    Ari Thomazini. Graduado em Ciência da Computação. ITIL V3 Certified Scrum Master Certified MCPD

    terça-feira, 11 de setembro de 2012 18:05

Todas as Respostas

  • É um tópico meio antigo, mas o tema é recente... por isso:
    -E aí amigo, conseguiu resolver?
    -Qual solução foi adotada?

    Tenho algumas dicas...

    É ajudando os outros que nos ajudamos...

    quarta-feira, 5 de setembro de 2012 00:09
  • Esse problema ocorre porque na hora que você recupera o objeto no banco, ele vem com o ID  preenchido (o id é igual à sua pk).

    Esse problema geralmente acontece quando se usa o NHibernate, pois ele salva em um 'cache' esse dado.

    Para resolver isso, tenta recuperar o objeto que você vai alterar, e a partir desse objeto, crie outra instância e passa todos os valores, inclusive o ID e tente salvar.

    entendeu?

    Atenciosamente,


    Ari Thomazini. Graduado em Ciência da Computação. ITIL V3 Certified Scrum Master Certified MCPD

    terça-feira, 11 de setembro de 2012 18:05