.net打印带有page-break-before的html表

时间:2014-08-27 18:45:06

标签: html .net html-email

我正在尝试在打印动态表时放置分页符,该动态表是.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'标记进行分页符,但它不起作用。

1 个答案:

答案 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;"> . . . .