none
Rellenar formulario, validar, devolver fichero y redirigir a index. RRS feed

  • Pregunta

  • Hola:

    Tengo un formulario, dond el usuario introduce los datos a filtrar. Dicho formulario se valida en post con el siguiente código:

    public ActionResult StockValorado()
            {
                return View();
            }
    
            [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult StockValorado(DateTime fecha)
            {
                if (ModelState.IsValid)
                {
                    ListadoStockValoradoAFecha(fecha, "PDF");
                    return RedirectToAction("Index");
                }
    
                return View();
            }

    Como podéis ver si el modelo es válido llama a la función "ListadoStockValoradoAFecha", el cual tiene el siguiente código y devuelve un archivo.

     public ActionResult ListadoStockValoradoAFecha(DateTime fecha, string tipo)
            {
                try
                {
                    if (tipo == null)
                        tipo = "PDF";
    
                    byte[] bytes = InformeStockValoradoAFecha(fecha, tipo);
    
                    if (tipo.ToString().ToUpper() == "PDF")
                    {
    
                        string filename = "file.pdf";
                        return File(bytes, "application/pdf", filename);
                    }
                    else if (tipo.ToString().ToUpper() == "EXCEL")
                    {
                        string filename = "file.xls";
                        return File(bytes, "application/excel", filename);
                    }
    
    
                    return null;
                }
                catch (Exception ex)
                {
                    TempData["resultado"] = "<div class='alert alert-danger alert-dismissible fade show' role='alert'> Error al Generar Stock Valorado. <button type= 'button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>&times;</span>  </button></div>";
    
    
                    return RedirectToAction("Index");
                }
    
            }

    El terminar esta función me tendría que devolver el fichero, pero el fichero no me lo devuelve y si me redirige al index. No se como tengo que hacerlo para que me devuelva el fichero y me redirija a index.

    Un Saludo y Gracias.

    jueves, 16 de julio de 2020 20:24

Todas las respuestas

  • Hola, revisa esto

    Download pdf and redirect to another page

    Saludos

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    viernes, 17 de julio de 2020 12:52