我有一个名为SubmitResponse()
的活动。
向用户显示问题列表和可能的回复。完成响应后,用户单击“预览”按钮。如果响应正确,则用户单击SubmitResponse按钮,然后SubmitResponse()
处理它。
单击SubmitResponse按钮后,会弹出一个打印屏幕供用户打印副本。这是JS打印功能的调用代码。
finsub.Attributes.Add("OnClick", "print_form()")
工作正常,但有一个问题。我们希望用户可以通过以下代码重定向到显示他/她的回复结果的屏幕。
Response.Redirect("results.aspx")
当用户点击submitResponses按钮时,他/她立即被重定向到results.aspx page
并且打印功能不再可用。
有办法解决这个问题吗?
答案 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>