我正在尝试通过在我的视图中使用 Html.ActionLink 提交给控制器操作方法。我这样做是作为非 ajax 提交,因为我的操作的返回类型是 FileContentResult(感谢@Darin 提供此信息)。但是,我的操作链接没有将我的视图发布到操作方法。下面是我的代码
查看代码(部分视图)
@Html.ActionLink("Save", "SaveFile", "ui", new { htmlResult="asdf"})
这里,UI 是控制器名称,SaveFile 是方法名称。
控制器方法
public FileContentResult SaveFile(string htmlString)
{
...
...
pdfBytes = pdfConverter.GetPdfBytesFromHtmlString(html);
var cd = new ContentDisposition
{
FileName = "MyFile.pdf",
Inline = false
};
Response.AddHeader("Content-Disposition", cd.ToString());
return File(pdfBytes, "application/pdf");
}
当我从浏览器地址栏中点击相同的 URL 时,它会被点击并返回没有问题的 pdf 文件。同样,这不是通过操作链接发生的。我还尝试将操作链接放入 @using Html.BeginForm().... 但没有用。
你能告诉我我可能在哪里做错了吗?
谢谢!