none
Problema al invocar desde un Modal una accion de un Controlador en MVC 5 RRS feed

  • Pregunta

  • Buenos Dias Amigos

    Nuevamente molestando por acá con una pregunta, estoy desarrollando una aplicación con MVC 5 pero se me ha presentado la siguiente custion tengo el un formulario y dentro del mimo estoy llamando desde un boton una ventana Modal para recoger los datos de la Tarjeta de Credito pero se me estan presentando dos problemas

    1. Para Guardar los datos que recogo uso el siguiente script

                

    </script>

    <script type="text/javascript">

        $(document).ready(function () {

            $("#btnConf").click(function () {

                var form = $(this).parent("form");

                form.attr('action', '<%= Url.RouteUrl(new { Controller = "Cliente", Action = "Info_TC" }) %>');

                form.attr('method', 'post');

            });



        });

    </script

    y lo referencio en un input tipo Submit


                                                <input id="btnConf"  type="submit" class="btn btn-primary" value="Guardar y Confirmar" />
                                        

    y mediante  en el js lo que hago es pasarle el nombre del ActionResult que necesito obtener y el respectivo controlador

       form.attr('action', '<%= Url.RouteUrl(new { Controller = "Cliente", Action = "Info_TC" }) %>');

    Pero no me funciona, me debeeria invocar este metodo

       [HttpPost]
            public ActionResult Info_TC()
            {
                CRM.Models.Cliente _obtc = new Models.Cliente();

                _obtc.No_TC = Request.Form["No_TC"].ToString();
                _obtc.id_Cte = 1;
                    //Convert.ToInt32(Request.Form["id_Cte"]);
                _obtc.Mes_Vence= Request.Form["Mes_Vence"].ToString();
                _obtc.Ano_Vence = Request.Form["Ano_Vence"].ToString();
                _obtc.Titula = Request.Form["Titula"].ToString();
                _obtc.No_Cuotas = Convert.ToInt32(Request.Form["No_Cuotas"]);
                _obtc.Estado_Vali = Convert.ToInt32(Request.Form["Estado_Vali"]);
                _obtc.Creado_P = Session["Session_Usuario"].ToString().Trim();
                _obtc.Fecha_C = DateTime.Now;
                _obtc.GetInsertaTC(_obtc.No_TC, _obtc.id_Cte, _obtc.Mes_Vence, _obtc.Ano_Vence,
                       _obtc.Titula, _obtc.No_Cuotas, _obtc.Estado_Vali, _obtc.Creado_P, _obtc.Fecha_C);


                return View(_obtc);


              

    2. Y ahora viene el segundo problema para llenar el primer formulario que les comente yo le paso como parametro el numero de documento pero cuando invoco el boton para guardar los datos de la TC me pone en null el numero de documento. Quiza este haciendo algo mal.  Agradezco su apoyo o alguna alternativa para tratar mi RQ

    mil gracias

    Atentamente

    Carlos Hernandez

    


    


    Carlos Alberto Hernández R. CEO -Xtreme Business Solutions Movil: 3102334026 Bogota- Colombia

    jueves, 29 de septiembre de 2016 17:33

Todas las respuestas

  • hola carlos alberto

    creo que en tu caso puedes usar una _partialView create

            public ActionResult CrearTCredito()
            {
                return View();
            }
    
            [HttpPost]
            [ValidateAntiForgeryToken]
            public async Task<ActionResult> CrearTCredito(TarjetaCredito  tarjetaCredito)
            {
                if (ModelState.IsValid)
                {
                    TarjetaCreditoServicio.Insert(tarjetaCredito);
                    return RedirectToAction("Index");
                }
                return View(tarjetaCredito);
            }

    en el anterior código utilizo a n capas y envío una Entidad T que tiene método .insert 

    en el evento onclick del boton que agregas la TC invocas el metodo del controller CrearTcredito

     <button type="button" class="btn btn-white btn-sm" data-toggle="modal" id="btnTCredito" onclick="CrearTCredito(@Model.btnTCredito)">

    espero que te sirva

    viernes, 30 de septiembre de 2016 15:33
  • Gracias voy a aplicarlo.

    Saludos


    Carlos Alberto Hernández R. CEO -Xtreme Business Solutions Movil: 3102334026 Bogota- Colombia

    viernes, 30 de septiembre de 2016 16:03