次のように PdfActionResult クラスを作成しました。
public class PdfActionResult : ActionResult
{
public byte[] FileContents { get; set; }
public string FileName { get; set; }
public override void ExecuteResult(ControllerContext context)
{
var cd = new System.Net.Mime.ContentDisposition()
{
FileName = FileName,
Inline = false,
};
context.HttpContext.Response.Buffer = true;
context.HttpContext.Response.Clear();
context.HttpContext.Response.AppendHeader("Content-Disposition", cd.ToString());
context.HttpContext.Response.ContentType = "application/pdf";
context.HttpContext.Response.BinaryWrite(FileContents);
}
}
PdfActionResult を返すコントローラー メソッドがあります。これは、ビュー内から呼び出された場合は正常に機能しますが、部分ビューから呼び出された場合は失敗します。私の推測では、コントローラーのコンテキストと関係があると思います。どんな助けでも大歓迎です。ありがとう。