Wie kann ich eine Umleitung zu einem anderen Action/Controller MVC3-aus einer VOID-Methode?

Habe ich eine controller-Methode, die einen void zurückgibt, weil es baut einen Excel-Bericht für den Anwender zum herunterladen. Die Excel-3rd-party-Bibliothek, die wir verwenden, ist schreiben die Antwort selbst. Die Methode sieht wie folgt aus:

[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 });
  }
}

Gibt es mehrere Sicherheits-checks, die exceptions werfen, wenn der Benutzer nicht erfüllen bestimmte Anmeldeinformationen für das abrufen der Bericht. Ich will redirect auf eine andere Seite und übergeben Sie einige Informationen über die Ausnahme, aber ich kann nicht herausfinden, wie dies zu tun in MVC3....

Irgendwelche Ideen?

InformationsquelleAutor Chris Holmes | 2011-09-08
Schreibe einen Kommentar