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

Não consigo fazer com que o Script chame a action correta

Boa tarde!

Ao clicar em "Decrementar" a action chamada é a "Visualiza" dentro do controller.

Já revisei muitas vezes e por último colei o código da aula Ajax e deu no mesmo.

3 respostas

coloque o codigo da controller e da View aê men ...

Ola tudo bem?

[AutorizacaoFilterAttribute] public class ProdutosController : Controller {

[HttpPost] 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"); } }

//código da view

@model IList

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

}

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"); }