Passando informações para outra ação usando RedirectToAction - MVC
Tenho esta ação:
public ActionResult Report(AdminReportRequest reportRequest, FormCollection formVariables)
{
AdminEngine re = new AdminEngine();
AdminReport report = re.GetCompleteAdminReport(reportRequest);
return View(report);
}
Eu estava pensando como poderia redirecionar para outra ação dentro do mesmo controlador, passando as variáveis AdminReportRequest e FormCollection?
Eu tinha algo assim em mente:
public ActionResult EarningsSalesReport(AdminReportRequest reportRequest, FormCollection formVariables)
{
if (!reportRequest.Download)
{
AdminEngine re = new AdminEngine();
AdminReport report = re.GetCompleteAdminReport(reportRequest);
return View(report);
}
return RedirectToAction("ExcelSalesReport", reportRequest, formVariables);
}
public FileResult ExcelSalesReport(AdminReportRequest reportRequest, FormCollection formVariables)
{
AdminEngine re = new AdminEngine();
Stream SalesReport = re.GetExcelAdminReport(reportRequest);
return new FileStreamResult(SalesReport, "application/ms-excel")
{
FileDownloadName = "SalesReport" + DateTime.Now.ToString("MMMM d, yyy") + ".xls"
};
}
Isso está obviamente errado e gera alguns erros, como:
'System.Web.Mvc.Controller.RedirectToAction (string, string, System.Web.Routing.RouteValueDictionary)' possui alguns argumentos inválidos
Argument 3: não é possível converter de 'System.Web.Mvc.FormCollection' para 'System.Web.Routing.RouteValueDictionary'
Se alguém puder me indicar a direção certa, eu apreciaria muito, acho que talvez precise editar o arquivo Global.asax, no entanto, não estou muito familiarizado com iss
obrigado