none
Recarregar página com MVC RRS feed

  • Pergunta

  • Fiz uma função na model e a chamada na controller. Aí, passo para o jquery e o comando de gravar no BD é excutado com êxito. Acontece, que quando eu termino de gravar, a tela continua com as informações anteriores, ou seja, os textbox preenchidos, os checkbox's checados. Como eu faço para após a gravação no BD(sucesso do ajax) eu recarregar a página ou os campos alterados somente? Abaixo minha chamada jquery. O alerta com a mensagem pode ser desconsiderado, se necessário.

    var checkedItemsUn = {}, checkedItemsMot = {}, checkedItemsPdv = {}, counter = 0;
    
    function Gravar() {
    
        $("#check-list-box li.active").each(function (idx, li) {
            checkedItemsUn[counter] = $(li).text();
            counter++;
        });
    
        counter = 0
    
        $("#check-list-box-mot li.active").each(function (idx, li) {
            checkedItemsMot[counter] = $(li).text();
            counter++;
        });
    
        counter = 0
    
        $("#check-list-tipo li.active").each(function (idx, li) {
            checkedItemsPdv[counter] = $(li).text();
            counter++;
        });
    
        counter = 0
        str = "";
    
        $.ajax({
            url: '/CadastroCargo/GravaResponsavel',
            datatype: 'json',
            contentType: 'application/json;charset=utf-8',
            type: 'POST',
            data: JSON.stringify({ _responsavel: $('#txtResponsavel').val(), _ativo: $('#ckbAtivo').prop("checked"), _Un: checkedItemsUn,
                _motivo: checkedItemsMot, _pdv: checkedItemsPdv, _nivel: $('#cbxNivelResp').val()
            }),
            success: function (data) {
    
                str += '<div class="alert alert-success col-md-6">';
                str += '<button type="button" class="close" data-dismiss="alert"></button>';
                str += '<h4>Operação realizada com sucesso!</h4>';
                str += 'Registro gravado no banco de dados com sucesso.';
                str += '</div>';
    
                $('#alerta').html(str);
    
                str = "";
            },
            error: function (error) {
            }
        })
    }
    quarta-feira, 8 de outubro de 2014 12:17

Respostas

  • Fiz assim e funcionou: window.location.href = '/CadastroCargo/CadastroCargo'; CadastroCargo é minha controller e minha action(Mesmo nome).
    • Editado pnet quarta-feira, 8 de outubro de 2014 14:02
    • Marcado como Resposta pnet quarta-feira, 8 de outubro de 2014 19:34
    quarta-feira, 8 de outubro de 2014 14:01

Todas as Respostas

  • Redirecionar para outra página já estava, mas o cara quer que fique na mesma, porque o usuário fará vários cadastros no mesmo "tempo" e para ele ir para a Home e depois voltar é mais trabalhoso e nesse aspecto concordo, por isso o post.
    quarta-feira, 8 de outubro de 2014 12:34
  • return RedirectToAction("Nome Action");
    quarta-feira, 8 de outubro de 2014 13:03
  • Coloco onde? No jquery? Lá não aceita o RedirectToAction.
    quarta-feira, 8 de outubro de 2014 13:54
  • Fiz assim e funcionou: window.location.href = '/CadastroCargo/CadastroCargo'; CadastroCargo é minha controller e minha action(Mesmo nome).
    • Editado pnet quarta-feira, 8 de outubro de 2014 14:02
    • Marcado como Resposta pnet quarta-feira, 8 de outubro de 2014 19:34
    quarta-feira, 8 de outubro de 2014 14:01