0

我正在使用 wicked_pdf 插件生成 pdf。当用户单击 pdf 链接时,我正在显示消息和微调器,并且我想在生成 pdf 并将其推送到浏览器进行下载/显示时隐藏它。我在 body onload 上添加了 jquery 代码,它不会执行。当pdf文件推送到浏览器时,还有其他方法可以触发jquery功能吗?

4

1 回答 1

1

这是一个相当复杂的问题,但如果您愿意使用 jQuery 插件,则可以很好地解决。http://jqueryfiledownload.apphb.com/是一个插件,如果我理解正确,它可以完全满足您的需求。


我的前端代码看起来像这样

$.fileDownload('/Content/Print', {
    successCallback: function (url) {
        $("#PrintingMessage").dialog('close');
    },
    failCallback: function (responseHtml, url) {
        $("#PrintingMessage").dialog('close');

        if (responseHtml.indexOf('Error403') != -1) {
            $("#PrintingFailedMessage").html("Error 403.");
        } else if (responseHtml.indexOf('Error500') != -1) {
            $("#PrintingFailedMessage").html("Error 500.");
        }

        $("#PrintingFailedMessage").dialog({ modal: true });
    },
    httpMethod: "POST",
    data: $('#PublishForm').serialize()
});

我的后端在流程结束时执行此操作。你必须自己翻译:)

Response.SetCookie(new System.Web.HttpCookie("fileDownload", "true") { Path = "/" });
return File(file, System.Net.Mime.MediaTypeNames.Application.Octet, filename);
于 2012-09-12T09:01:24.297 回答