Recarregar página com MVC

08/10/2014

0

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) {
        }
    })
}
Pjava

Pjava

Responder

Posts

08/10/2014

Joel Rodrigues

Você pode:
1) redirecionar para uma outra página (com uma mensagem de sucesso, por exemplo, ou para a home);
2) usar o método load da jQuery para recarregar a view dentro de uma div, fazendo uma chamada assíncrona à action que chama essa mesma tela.
Responder

08/10/2014

Pjava

Ok, 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 e para ele ir para a Home e depois voltar é mais trabalhoso e nesse aspecto concordo, por isso o post.
Responder

08/10/2014

Pjava

E como eu faço isso:


usar o método load da jQuery para recarregar a view dentro de uma div, fazendo uma chamada assíncrona à action que chama essa mesma tela.
Responder

08/10/2014

Joel Rodrigues

Vai ser mais ou menos assim:
$("#minhaDiv").load("/CadastroCargo/CadastroCargo");
Responder

08/10/2014

Pjava

Assim deu certo:

window.location.href = '/CadastroCargo/CadastroCargo';
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar