使用C#和Rotativa生成PDF后删除状态消息

本文关键字:删除 状态 消息 PDF 生成 Rotativa 使用 | 更新日期: 2023-09-27 18:25:03

我们有一个"导出到pdf"按钮,单击该按钮会生成一个冗长的报告。PDF是用Rotativa生成的。我们需要在生成PDF时显示一条消息(简单),并在生成PDF后将其忽略(困难)。我在ViewAsPdf()方法中没有看到任何钩子,它将使我们能够在生成PDF后忽略消息。有人能解决这个问题吗?有什么挂钩(如果有的话)?

我试图在生成PDF后隐藏消息。

非常感谢

视图中的消息

<!-- The message we show to the user after they click the export to PDF button -->
<div id="pdfProcessing" style="display: none; border:1px solid #666666;">
                <img src="@Url.Content("~/Content/images/logo.png")" alt="@Index.PdfProcessing ..." />
                <h2>@Index.PdfProcessing ...</h2>
                <div>@Index.PdfProcessingMessage</div>
</div>

Javascript按钮点击处理程序

//Displays message when the export to PDF button is clicked
<script type="text/javascript">
    $("#export-pdf-btn").click(function () {
        $('#pdfProcessing').show();
    });
</script>

控制器操作

// Export to PDF button action handler
public ActionResult Pdf(string districtId, int year, int month)
{
    return new ViewAsPdf("Index", EducationReportTasks.BuildViewModel(User, districtId, year, month, true))
    { 
        FileName = districtId + "-" + year + "-" + month + "-report.pdf"
    };
}

使用C#和Rotativa生成PDF后删除状态消息

您应该使用javascript下载该文件。也许你可以用这样的东西:https://github.com/johnculviner/jquery.fileDownload