如何在*打印文档后重定向到另一页*?

时间:2011-10-19 18:29:11

标签: javascript asp.net

我有一个名为SubmitResponse()的活动。

向用户显示问题列表和可能的回复。完成响应后,用户单击“预览”按钮。如果响应正确,则用户单击SubmitResponse按钮,然后SubmitResponse()处理它。

单击SubmitResponse按钮后,会弹出一个打印屏幕供用户打印副本。这是JS打印功能的调用代码。

finsub.Attributes.Add("OnClick", "print_form()")

工作正常,但有一个问题。我们希望用户可以通过以下代码重定向到显示他/她的回复结果的屏幕。

Response.Redirect("results.aspx")

当用户点击submitResponses按钮时,他/她立即被重定向到results.aspx page并且打印功能不再可用。

有办法解决这个问题吗?

5 个答案:

答案 0 :(得分:9)

您可以通过javascript进行打印和重定向。这是一个应该有效的例子:

function doPrint() {
    window.print();            
    document.location.href = "Somewhere.aspx"; 
}

将其链接到Button

<asp:Button ID="btnPrint" runat="server" Text="Print"
    OnClientClick="doPrint(); return false;" />

答案 1 :(得分:6)

对于跨浏览器兼容性,您需要在window.print()调用和重定向之间引入延迟。

我发现以下效果很好(使用JQuery框架在加载后立即打印页面):

 <script type="text/javascript">
    $(document).ready(function () {
        window.print();
        setTimeout("closePrintView()", 3000);
    });
    function closePrintView() {
        document.location.href = 'somewhere.html';
    }
</script>

这可以很容易地适应“打印”按钮和链接等。

答案 2 :(得分:2)

您可以使用以下代码:

window.print();
window.onafterprint = function(event) {
    window.location.href = 'index.php'
};

使用window.print()回调!!

答案 3 :(得分:0)

使用javascript / jQuery在客户端重定向

  onclick="window.print();window.location.href='results.aspx';"

对于你的情况

 insub.Attributes.Add("OnClick", "print_form();window.location.href='results.aspx';")

答案 4 :(得分:0)

<script type="text/javascript">window.location = 'url.aspx';</script>