У меня есть метод контроллера, который возвращает пустоту, потому что он создает отчет Excel для загрузки пользователем. Используемая нами сторонняя библиотека Excel записывает сам ответ. Метод выглядит примерно так:
[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 });
}
}
Существует несколько проверок безопасности, которые генерируют исключения, если пользователь не соответствует определенным учетным данным для получения отчета. Я хочу перенаправить на другую страницу и передать некоторую информацию об исключении, но я не могу понять, как это сделать в MVC3 ....
Есть идеи?