我的控制器中有以下代码:
public ActionResult downloadFile()
{
try
{
FileStream fs = new FileStream(helper.getFileLoc(), FileMode.Open);
string mimeType = "Text File";
FileStreamResult f = File(fs, mimeType, "myFile.txt");
return f;
}
catch
{
return PartialView("_errorFile");
}
}
我想下载一个文件,但如果出现异常,我想在我的错误 div 中呈现部分视图。
问题是,如果我使用@Html.ActionLink
调用该方法,我可以正确下载文件,但如果出现异常,我会被重定向到仅包含部分视图的页面。
另一方面,如果我使用@Ajax.ActionLink
,我会在该 div 中正确处理异常,但如果没有异常,我会在文件中获取文本而不是下载。
有什么办法可以做我想做的事情吗?