Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

O Script esta chamando a action errada

Ao clicar em decrementar a função esta chamando a action Visualiza e não a action DecrementaQtd. Já revisei o código mil vezes e não encontro o erro.

//código index

@model IList

@Html.ActionLink("Novo produto", "create")
IdNomePreçoDescriçãoQuantidade
@foreach (var p in Model) { @p.Id@p.Nome@p.Preco@p.Descricao@p.Quantidade@Html.RouteLink("Visualizar", "VisualizaProduto", new {id = p.Id })Decrementar }
3 respostas

Cara olha isso. ..

@Html.RouteLink("Visualizar", "VisualizaProduto",

Vc ta chamando a action errada ... cade a action DecrementaQtd?

Ola Renan, tudo bem? Então, esta td ( @Html.RouteLink("Visualizar", "VisualizaProduto",) pertence a outro link, e sua função realmente é visualizar um produto. O meu problema é na td que chama a função JavaScript "decrementa" , a linha anterior à que você comentou.

Vc ta chamando a action errada ... cade a action DecrementaQtd?

R: A action DecrementaQtd esta na função decrementa no final do código.

solução!

Encontrei o erro!!

A action estava sem a rota, definido pelo dataAnotation. "A parte em negrito no código".

[HttpPost] [Route("produtos/{id}", Name ="DecrementaQtd")] public ActionResult DecrementaQtd(int id) { var DAO = new ProdutosDAO(); var p = DAO.BuscaPorId(id); p.Quantidade--; DAO.Atualiza(p); return Json(p); //return View("Index"); }

Obrigado!!