none
ASP.NET MVC como exibir uma Mensagem de Sucesso para o usuário após inserir um registro no BD RRS feed

  • Pergunta

  • Pessoal tenho uma <Div> oculta na View Chamada= dvSuccessAlert

    VIEW:

     <div class="success-modal fade in" id="dvSuccessAlert">
                <a href="#" class="close" data-dismiss="modal">&times;</a>
                <h4>Cadastro salvo com Sucesso</h4>
                <span>Cadastro de estado para geração de arquivos automático salva com sucesso!</span>
            </div>

    Eu quero que essa <DIV> seja exibida na pagina apos a inserção do Registro no Controller por um Jquery

    CONTROLLER:

     if (ModelState.IsValid)
                {
    //Add to DataBase
                }

    SCRIPT DA VIEW

     <script>
                    $('#button').click(function (event) {
                    $("#frm").submit(function (event) {
    $('#dvSuccessAlert').modal();
                           $("#dvSuccessAlert").show("slow");
        </script>

    Ou seja apos inserir o registro quero que seja exibido a <DIV> que estava oculta.
    segunda-feira, 25 de novembro de 2013 18:32

Respostas

  • Amilton utilize ajax como o código abaixo:

    var form = $('#id do section form').closest("form");
                $.ajax({
                    type: 'POST',
                    url: '/sua controller/ sua action',
                    data: form.serialize(),
                    success: function (response) {
                      
                        $('#id do seu alerta').fadeIn();
                        setTimeout(function () {
                            $('#alertSucesso').fadeOut();
                        }, 5000);
                    },
                });

    Espero que ajude.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs


    segunda-feira, 25 de novembro de 2013 18:49
  • Desculpe Amilton a demora. 

    Eu utilizo daquela forma mesmo, porem meu alert já se encontra na View oculto é claro e após o sucesso eu exibo ele nesse trecho de código: 

    success: function (response) {
                 $('#id do seu alerta de sucesso').fadeIn();
         },
    });

    Só que nesse caso eu não sei te dizer se você consegue colocar o <p>ViewBag.Status</p> na sua div oculta, pois isso eu não testei. 

    Ai vai uma pergunta para o Fúlvio rs, será que consegue Fúlvio?

    Abraços


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    • Marcado como Resposta Amilton JB Costa terça-feira, 10 de dezembro de 2013 18:06
    terça-feira, 26 de novembro de 2013 19:51

Todas as Respostas

  • Amilton utilize ajax como o código abaixo:

    var form = $('#id do section form').closest("form");
                $.ajax({
                    type: 'POST',
                    url: '/sua controller/ sua action',
                    data: form.serialize(),
                    success: function (response) {
                      
                        $('#id do seu alerta').fadeIn();
                        setTimeout(function () {
                            $('#alertSucesso').fadeOut();
                        }, 5000);
                    },
                });

    Espero que ajude.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs


    segunda-feira, 25 de novembro de 2013 18:49
  • Fernando, obrigado pela sua atenção, mas aqui não funcionou tenho que fazer alguma coisa no Controller? estou validando se o formulário está valido.

             if (ModelState.IsValid)
                {
                    //ADD TO DATABASE
                }

    segunda-feira, 25 de novembro de 2013 19:19
  • Como você ta inserindo?

    Fulvio Cezar Canducci Dias

    segunda-feira, 25 de novembro de 2013 19:21
  •  if (ModelState.IsValid)

                {

                    db.Editoras.Add(editora);

                    db.SaveChanges();

                }

    segunda-feira, 25 de novembro de 2013 19:33
  • e ta redirecionando para onde!

    coloque o metodo inteiro!!! se não nem tem como ajudar?


    Fulvio Cezar Canducci Dias

    segunda-feira, 25 de novembro de 2013 20:32
  • No m eu controller só tem isso

     if (ModelState.IsValid)

                {

                    db.Editoras.Add(editora);

                    db.SaveChanges();

                   }

     return View();

    segunda-feira, 25 de novembro de 2013 20:41
  • Assim:

    if (ModelState.IsValid)
    {
    	db.Editoras.Add(editora);
    	if (db.SaveChanges() > 0) // Gravou
    	{
    		ViewBag.Status = "Dados gravados com Êxito";
    	}
    }            
    return View();

    Ai por causa do return View(); ele vai voltar para a mesma View e lá você restaga assim

    <p>@ViewBag.Status</p>


    Fulvio Cezar Canducci Dias

    segunda-feira, 25 de novembro de 2013 23:47
  • Desculpe Amilton a demora. 

    Eu utilizo daquela forma mesmo, porem meu alert já se encontra na View oculto é claro e após o sucesso eu exibo ele nesse trecho de código: 

    success: function (response) {
                 $('#id do seu alerta de sucesso').fadeIn();
         },
    });

    Só que nesse caso eu não sei te dizer se você consegue colocar o <p>ViewBag.Status</p> na sua div oculta, pois isso eu não testei. 

    Ai vai uma pergunta para o Fúlvio rs, será que consegue Fúlvio?

    Abraços


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    • Marcado como Resposta Amilton JB Costa terça-feira, 10 de dezembro de 2013 18:06
    terça-feira, 26 de novembro de 2013 19:51
  • Desculpe Amilton a demora. 

    Eu utilizo daquela forma mesmo, porem meu alert já se encontra na View oculto é claro e após o sucesso eu exibo ele nesse trecho de código: 

    success: function (response) {
                 $('#id do seu alerta de sucesso').fadeIn();
         },
    });

    Só que nesse caso eu não sei te dizer se você consegue colocar o <p>ViewBag.Status</p> na sua div oculta, pois isso eu não testei. 

    Ai vai uma pergunta para o Fúlvio rs, será que consegue Fúlvio?

    Abraços


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    Sim , consegue!

    Fulvio Cezar Canducci Dias

    quarta-feira, 27 de novembro de 2013 02:25