使用RedirectToAction-MVC将信息传递给另一个动作
|
我有这个动作:
public ActionResult Report(AdminReportRequest reportRequest, FormCollection formVariables)
{
AdminEngine re = new AdminEngine();
AdminReport report = re.GetCompleteAdminReport(reportRequest);
return View(report);
}
我想知道如何通过AdminReportRequest和FormCollection变量重定向到同一控制器中的另一个动作?
我有这样的想法:
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\"
};
}
这显然是错误的,并引发了一些错误,例如:
\'System.Web.Mvc.Controller.RedirectToAction(string,
串,
System.Web.Routing.RouteValueDictionary)\'
有一些无效的论点
和
参数3:无法从中转换
\'System.Web.Mvc.FormCollection \'到
\'System.Web.Routing.RouteValueDictionary \'
如果有人可以向我指出正确的方向,我将不胜感激,我想我可能必须编辑Global.asax文件,但是我对此不太熟悉。
谢谢。
没有找到相关结果
已邀请:
1 个回复
渐首洽陈染