コントローラーに次のコードがあります。
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 で例外が正しく処理されますが、例外がない場合は、ダウンロードではなくファイル内のテキストが取得されます。
私がここでやろうとしていることをする方法はありますか?