我正在尝试在打印动态表时放置分页符,该动态表是.Net 4.0框架C#控制台程序中生成的电子邮件正文的一部分:
<table>
<div style='page-break-before: always'>
<tr><td> header data </td></tr> </div>
<tr><td> data </td></tr>
'' multiple rows
</table>
当程序运行时,我可以看到数据和格式,但它显示的是Outlook打印预览中页面数量的4倍,所以例如最多应该有20页,有80 + !!
我在调试器中运行它并且电子邮件正文是可以的但我无法找到在Outlook和打印预览中查看时页面数量关闭的原因。我相信div标签可能是问题。我拿出来显示确定但没有分页符。我必须使用内联css,因为使用通常的'style'标记在.Net电子邮件类中不起作用。
另请注意,我尝试在行上使用'style'标记进行分页符,但它不起作用。
答案 0 :(得分:0)
嗯,很明显,在div
标记中使用table
在语法上是不正确的,将它们全部整理并在table
标记之前添加以下内容:
table {page-break-inside:auto} tr {page-break-inside:avoid; page-break-after:auto}
您是否尝试过这样做:(请务必在div
之后移除table
。
<table style="page-break-before:always; page-break-after:always;">
<tr style="page-break-inside: avoid;">
.
.
.
.