none
MVC Submit em ajax RRS feed

  • Pergunta

  • Estou tendando fazer um submit em ajax estou usando os dados abaixo, e infelizmente nao esta funcionando.

    Obrigado.

    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    <div id="Resultado">

        @using (Ajax.BeginForm("SalvarBlocoNotas", "Principal", new AjaxOptions { HttpMethod = "POST", LoadingElementId = "loading", InsertionMode = InsertionMode.Replace, UpdateTargetId = "Resultado" }))
        {}

    </div>

         public ActionResult SalvarBlocoNotas(string data, string descricao,string codigo)
            {

                // grava dados

                return PartialView("_Bloconotas");
                

            }

        
    • Editado _Manigold_ sexta-feira, 29 de abril de 2016 16:51
    sexta-feira, 29 de abril de 2016 16:51

Todas as Respostas

  • Boa tarde,

    Segue um exemplo:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    <script type="text/javascript">
        function Salvar() {
            var data = "29/04/2016";
            var descricao = "Teste";
            var codigo = "1";
            var parametros = "data=" + data + "&descricao=" + descricao + "&codigo=" + codigo;
            //Minha controller é "Home" precisa adicionar o nome da sua
            jQuery.post("Home/SalvarBlocoNotas?", parametros)
                .success(function (data) {
                    if (data == "")
                        Mensagem("Rascunho excluido com Sucesso.", "Sucesso", false, Voltar_Click);
                    else
                        Mensagem(data, "Erro", false, Voltar_Click);
                });
        }
    </script>
    <button type="button" onclick="Salvar()">Salvar</button>
    public ActionResult SalvarBlocoNotas(string data, string descricao, string codigo)
    {
    
        // grava dados
    
        return PartialView("_Bloconotas");
    }
    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    sexta-feira, 29 de abril de 2016 17:20
  • olá estou tentando fazer dessa forma abaixo: O problema é que ele esta redirecionando para outra pagina, em vez de trazer na mesma.

    Obrigado.

    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

    <div id="div_to_replace"> @using (Ajax.BeginForm("SalvarBlocoNotas", "Principal", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "div_to_replace" })){ <div class="editor-field">

    @Html.EditorFor(model => model.name) @Html.ValidationMessageFor(model => model.name) </div> <input type="submit" value="Save" /> } </div>

    ----------------

       public ActionResult SalvarBlocoNotas(string data, string descricao,string codigo)
            {

                // grava dados

                return PartialView("_Bloconotas");
                

            }


    • Editado _Manigold_ sexta-feira, 29 de abril de 2016 17:34
    sexta-feira, 29 de abril de 2016 17:33
  • Você está retornado return 'PartialView("_Bloconotas");'. Coloque: "return View(seuObjeto)".
    Na viu, você renderiza a sua "Partial".

    Att,

     

    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    sexta-feira, 29 de abril de 2016 17:37
  • olá Silvaney, apos o insert quero retornar tudo dentro da mesma <div id="div_to_replace">, ou seja como se a pagina ficase estatica.

    Novamente muito obrigado

    <div id="div_to_replace"> @using (Ajax.BeginForm("SalvarBlocoNotas", "Principal", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "div_to_replace" })){ <div class="editor-field">

    @Html.EditorFor(model => model.name) @Html.ValidationMessageFor(model => model.name) </div> <input type="submit" value="Save" /> } </div>

    sexta-feira, 29 de abril de 2016 17:53
  • Seria isso:

    return PartialView("suaView", seuObjetoPreenchido);


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    sexta-feira, 29 de abril de 2016 18:19
  • sim na teoria sim, retornar a mesma PartialView, mas  infelizmente nao esta indo.

    vou ver com calma.

    Muito obrigado.

    sexta-feira, 29 de abril de 2016 18:45