如何在另一个aspx页面中调用aspx页面而不是等待它完成?

时间:2018-06-14 22:50:18

标签: asp.net asynchronous server.transfer

我想调用一个从当前aspx页面创建PDF文件的aspx页面,但我不想等待另一页面完成。创建PDF需要很长时间,用户并不关心它是否正在创建。

我尝试了Server.TransferRequest,这似乎有效,除了我正在处理的页面显示" response.write"从我打过的页面。我希望被叫页面简单地运行,我打电话后我不想知道它。

我怎样才能简单地执行另一个页面"忘记它"。遗憾的是,PDF实用程序需要在实际的aspx页面上运行,并且不能在函数中调用。

Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

    Response.write("This should show on the current page")

    Server.TransferRequest("/Invoicing/PDFGenerator.aspx")

    Response.write("This second line should show on the current page but does not")

End Sub

我看过异步信息,但不清楚这是否是我必须要做的。

1 个答案:

答案 0 :(得分:0)

iframe方法可能有效。在您的页面上创建一个隐藏的iframe,并根据需要将.aspx页面加载到其中。

// add query string if needed.
$(".hiddenIframe").attr("src", "pdf-generator.aspx?fname=" + fname + "&fid=" + fid);

当页面加载时(通过'src'),代码隐藏将执行。