【发布时间】:2016-11-10 08:21:16
【问题描述】:
需要比我更聪明的人的建议。我有一个模式,它有 2 个东西,本质上是 3 个单选按钮(电子邮件、PDF、无)和一个是和否提交按钮。 在按下单选按钮时,我会适当地标记隐藏变量,以了解用户是否在我的控制器中按下了电子邮件或 pdf。用户按下 Yes 进行保存(快乐路径),它将调用控制器。 此控制器将保存更改并重定向到不同的页面。现在我想添加到这个控制器并让它下载一个 pdf。我通过调用我的 DownloadPDF 操作来做到这一点。
public ActionResult Main(string id)
//code for doing all the save and other stuff
{
if (viewModel.Email)
{
SendTestingEmail(viewModel.ConsumerEncryptedID);
}
else if(viewModel.PDF)
{
DownloadWelcomePDF()
}
return RedirectToAction("ConsumerIndex", "Consumer")
}
public ActionResult DownloadWelcomePDF(string id)
{
var htmlWelcomeEmail = db.getHtmlBody(id.DecryptID());
var converter = new ConvertToPDF();
var file = converter.ConvertHTMLStringToPDF(htmlWelcomeEmail.EmailBody);
var fileStreamResult = new FileStreamResult(file, "application/pdf") { FileDownloadName = string.Format("Welcome{0}{1}_{2}.pdf", htmlWelcomeEmail.ConsumerFirstName, htmlWelcomeEmail.ConsumerLastName, DateTime.Now.ToString("yyyyMMdd")) };
return fileStreamResult;
}
现在因为这也会返回 pdf 内容,所以我不能同时做这两件事(重定向到不同的页面和下载)。 有什么建议吗,我在网上找了很久。 它本质上是下载和重定向,但下载只需要在特定条件下(按收音机)发生,并且页面应该始终重定向。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 c#-4.0