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

Dúvida no Ex. 6 da Aula 9 - Ajax

Meu código está decrementando porém toda vez eu preciso atualizar a pagina para visualizar a mudança !!

Segue o código html:

@model IList<CaelumEstoque.Models.Produto>


<title>Index</title>


<table class="table table-hover">
    <thead>
        <tr>
            <th>Id</th>
            <th>Nome</th>
            <th>Quantidade</th>
            <th></th>
        </tr>
    </thead>
    <tbody>
        @foreach (var produto in Model)
        {
            <tr>
                <td>@produto.Id</td>
                <td>
                    @Html.RouteLink(produto.Nome, "DetalheProduto", new { id = produto.Id })
                </td>
                <td id="#quantidade@(produto.Id)">@produto.Quantidade</td>
                <td>
                    <a href="#" onclick="decrementa(@produto.Id);">Decrementar</a>
                </td>
            </tr>
        }
    </tbody>
</table>


<br />

<div>
    <button type="button" class="btn btn-group">@Html.RouteLink("Cadastrar Produto", "CadastrarProduto")</button>
</div>

<script type="text/javascript" src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
    function decrementa(produtoId) {
        var url = "@Url.Action("DecrementaQuantidade", "Produto")";
        var params = { id: produtoId };
        $.post(url, params, atualiza);
    }

    function atualiza(resposta) {
        $("#quantidade" + resposta.Id).html(resposta.Quantidade);
    }
</script>

Código do Controller:

public ActionResult DecrementaQuantidade(int id)
        {
            ProdutosDAO pDAO = new ProdutosDAO();
            Produto produto = pDAO.BuscaPorId(id);
            produto.Quantidade--;
            pDAO.Atualiza(produto);
            return Json(produto);
        }
3 respostas
solução!

Resolvido !!

Estava pegando o id com # sendo assim não atualizava !

Mas na aula não informa que o id é apontado com # na frente do nome?

ops, disfarça!kkk