如何打印(在新窗口中)两个特定的面板ID

时间:2013-05-09 11:53:26

标签: c# asp.net .net

我想打开一个新窗口,它包含Panel打印为...

你好,你好吗? 我很好.. !!

我在头部

中使用此脚本进行打印
<head> 
<scripttype="text/javascript">
functionPrintPanel() {
var panel = document.getElementById("<%=Pa1.ClientID%>");

varprintWindow = window.open('', '', 'height=400,width=800');
printWindow.document.write('<html><head><title>DIV Contents</title>');
printWindow.document.write('</head><body >');
printWindow.document.write(panel.innerHTML);
printWindow.document.write('</body></html>');
printWindow.document.close();
setTimeout(function () {
printWindow.print();
         }, 500);
returnfalse;
     }
</script>
</head>

在我的身体部位

<body>
<asp:ImageButtonID="print_btn"runat="server"
ImageUrl="~/images/awards2.jpg"OnClientClick="return 
PrintPanel();"Height="50"Width="50"/>

<asp:Panel ID="Pa1" runat="server">Hi, How are u?</asp:Panel>
<asp:Panel ID="Pa2" runat="server">I am fine..!!</asp:Panel>
</body>

通过这个我只会得到“嗨,你好吗?”打印,但我想“嗨,你好吗?我很好...... !!”.....

1 个答案:

答案 0 :(得分:2)

因为那些是作为DIV渲染的,所以你需要在它们之间进行中断。所以它看起来像这样:

<asp:Panel ID="Pa1" runat="server">Hi, How are u?</asp:Panel>
<br />
<asp:Panel ID="Pa2" runat="server">I am fine..!!</asp:Panel>

在加载页面时打印页面:

<body onload="javascript:windows.print();">