在asp.net中使用rotativa生成一个pdf,在一个视图中包含多个局部视图

本文关键字:一个 视图 asp 包含多 个局 pdf net rotativa | 更新日期: 2023-09-27 18:24:09

我正试图在asp.net中使用rotativa生成pdf。我的视图上呈现了多个局部视图。我可以创建一个由单个局部视图组成的pdf,但当我将所有局部视图合并并尝试生成pdf时。它在将数据加载到pdf中之前生成pdf。请建议如何保持这个过程,直到加载pdf中的数据。提前谢谢。

    public ActionResult Followers()
    {
        MediaAPIController mac = new MediaAPIController();
        JsonResult jR = mac.getUserInfo("", "", "", "201");
        MediaLibrary.User u = (MediaLibrary.User)jR.Data;
        System.Threading.Tasks.Task.Run(async delegate
        {
            await Task.Delay(5000);
            return 42;
        }).Wait();
        return new Rotativa.ActionAsPdf("PreviewPdf", u)
        {
            FileName = "MyDoc.pdf",
            PageSize = Rotativa.Options.Size.A4,
            PageOrientation = Rotativa.Options.Orientation.Portrait,
            PageMargins = { Left = 10, Right = 10 }
        };
    } 

在asp.net中使用rotativa生成一个pdf,在一个视图中包含多个局部视图

您可以使用ViewAsPdf方法而不是ActionAsPdf,并在部分视图中传递绑定的模型。通过这种方式,视图将在渲染之前绑定,问题将得到解决。