0

我对 MVC 相当陌生,想知道正确的方法是什么 - 提交表单时执行 Edit ActionResult,一旦保存数据,我想生成一个文件并发送到浏览器以供下载,但也继续另一个动作。

该文件被发送到浏览器,但控制器中没有进一步的处理,因为我使用return RedirectToActions。在此先感谢您的任何指点。

public ActionResult Edit(int id, InvoiceFormData formData)  
{ 
  ...    
  return base.RedirectToAction("ReturnPdf", new { id = 99 });

  // More processing...ideally...then

  return base.RedirectToAction("Action", "Controller");
}

public FileResult ReturnPdf(int? id)
{
  ...
  return output; // writes file output and prompts user to download
}
4

1 回答 1

0

您不能在同一操作结果中使用两个 return 语句并期望它们都运行。当您“返回”时,这意味着您正在返回输出,然后退出操作结果。因此,您可以链接您的操作,而不是在 Edit 操作结果中进行进一步处理,您可以将该逻辑移动到 ReturnPdf AR(因为这是我在您的代码中可以看到的),然后最终返回最终输出在你登陆的任何行动结果中。我希望这已经足够清楚了...

于 2011-02-16T12:47:26.913 回答