none
Problema con REDIRECT RRS feed

  • Question

  • Saludos, un problema de ultima hora:

    tengo el siguiente formulario

    el cual funciona bien; el cual me permite editar alguno de los elementos, en base al siguiente formulario:

    y el problema se presenta después de presionar el botón actualizar, el cual debería redirigirse hacia el formulario inicial, pero no lo hace, he hecho un seguimiento de las instrucciones, pero por alguna razón que desconozco, cae en un loop y no abandona la pantalla en cuestión.

    acá les dejo los controllers que me permiten el llenado del formulario y  la actualización de este:

     public ActionResult EditDept(int Id)
            {
                using (var Deptos = new EmpleadosEntities())
                {
                    var Result = Deptos.SP_Sel_Depto(Id).FirstOrDefault();
                    Departamento datos = new Departamento();
                    datos.Id_Depto = Id;
                    datos.NomDepto = Result;
                    return View("EditDept", datos);
                }
            }

            [HttpPost]
            public ActionResult EditDept(Departamento departamento)
            {
                using (var Deptos = new EmpleadosEntities())
                {
                    var GrabDep = Deptos.Sp_Mod_Depto(departamento.Id_Depto, departamento.NomDepto);
                }
                return RedirectToAction("Index");
            }

    también agrego el script que controla el paso de la vista al controlador:

    $(document).ready(function () {
        $("#BtnGrab").click(function (event) {
            $("#BtnGrab").attr('value', 'Grabando....');
                var Nomdepto = $("#NomDep").val();
                var data = { NomDepto: Nomdepto }
                var url = "/Departamentos/Index";
                event.preventDefault();
                $.post(url, data)
                    .done(function (data) {
                        toastr["success"]("Datos Grabados", "Atención")
                        toastr.options = {
                            "closeButton": false, "debug": false,
                            "newestOnTop": false, "progressBar": false,
                            "positionClass": "toast-top-center", "preventDuplicates": false,
                            "onclick": null, "showDuration": "400",
                            "hideDuration": "1000", "timeOut": "5000",
                            "extendedTimeOut": "1000", "showEasing": "swing",
                            "hideEasing": "linear", "showMethod": "fadeIn",
                            "hideMethod": "fadeOut"
                        };
                        //window.location.reload(true);
                    })
                    .fail(function (data) {
                        toastr["error"]("Error De Grabación", "Error")
                        toastr.options = {
                            "closeButton": false, "debug": false,
                            "newestOnTop": false, "progressBar": false,
                            "positionClass": "toast-top-center", "preventDuplicates": false,
                            "onclick": null, "showDuration": "400",
                            "hideDuration": "1000", "timeOut": "5000",
                            "extendedTimeOut": "1000", "showEasing": "swing",
                            "hideEasing": "linear", "showMethod": "fadeIn",
                            "hideMethod": "fadeOut"
                        }
                    })
                    .always(function (data) {
                        $("#NomDep").val("");
                        window.location.reload(true);
                    })
         });
    })

    alguien me podría echar una mano con el problema???, Gracias

    Friday, January 17, 2020 1:14 AM

Answers

  • hola

    >>el problema se presenta después de presionar el botón actualizar, el cual debería redirigirse hacia el formulario inicial, pero no lo hace

    si usas $.ajax o $.post olvidate del Redirect, no aplica redireccionar desde el servidor cuando el control lo tienes en el cliente

    el RedirectToAction funciona si haces un submit completo de la pagina, si usas ajax con json no funciona

    Deberias en el done de $.post redireccionar alli usando

    window.location.href= 'url';

    o sea redirecionas usando codigo cliente

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Friday, January 17, 2020 12:59 PM