【发布时间】:2012-09-18 00:55:59
【问题描述】:
我创建了一个 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 的控制器方法。当从视图中调用时,这可以正常工作,但从局部视图中调用时会失败。我的猜测是它与控制器上下文有关。任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
与其创建自己的 Result 类,不如使用 FileResult 呢? stackoverflow.com/questions/1375486/…
-
@Dave Markle - 感谢您的评论,但我试过了,但它不起作用
标签: c# asp.net asp.net-mvc-3