在特定屏幕中,我需要让用户打印出一些数据。由于显示的数据比较复杂,所以使用了一个标签:
lblTree.Text = stringHTML;
使用动态构造的 HTML 字符串显示树。最后的字符串是 52 000 个字符长。我不认为这很重要,但我想我会解释一下背景。在 aspx 中,它看起来像这样:
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" align="left" class="PrintTBLHeader"><br />report as of 20/09/2012 : <br /><br /></td>
</tr>
<tr>
<td colspan="3"><br /><asp:Label runat="server" ID="lblTree"></asp:Label><br /><br /></td>
</tr>
<tr>
<td colspan="3" align="left" class="PrintTBLHeader"><br />2nd title:<br /><br /></td>
</tr>
<tr>
<td colspan="3"><br /><asp:Label runat="server" ID="lblMPMtree"></asp:Label></td>
</tr>
</table>
问题是这样的:当我打开打印预览时,它应该显示 6 页(就像在 Firefox 和 chrome 中一样——它们工作正常),但是 IE8 的打印预览只显示了 3 页。
lblTree 在第一页的末尾被剪切然后在第二页上,而不是显示 lblTree 的其余部分,它以“第二个标题”开头(上面示例中的 tr #3)
我发现了一些与此类相关的文章,其中解决方案正在添加media="print"
到<link>
.
<link rel="stylesheet" type="text/css" href="..." media="print" />
那没有用。