Tengo un método de controlador que devuelve un vacío porque está creando un informe de Excel para que el usuario lo descargue. La biblioteca de terceros de Excel que estamos utilizando está escribiendo en la respuesta en sí. El método es como la siguiente:¿Cómo puedo redireccionar a otra acción/controlador en MVC3 desde un método VOID?
[HttpGet]
public void GetExcel(int id)
{
try
{
var report = _reportService.GetReport(id);
var table = _reportService.GetReportTable(id);
var excelReport = new ExcelReport(table, report.Name);
excelReport.DownloadReport(System.Web.HttpContext.Current.Response);
}
catch (Exception ex)
{
// This is wrong, of course, because I'm not returning an ActionResult
Response.RedirectToRoute("/Report/Error/", new { exceptionType = ex.GetType().Name });
}
}
Hay varios controles de seguridad en el lugar que generen excepciones si el usuario no cumple con ciertas credenciales para ir a buscar el informe. Quiero redireccionar a una página diferente y pasar algo de información sobre la excepción, pero no puedo encontrar la manera de hacerlo en MVC3 ...
¿Alguna idea?
Gracias importante. Funcionó para mí – Mohan