<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table id="tbtest" style="page-break-before:always;">
<tr>
<td> Dummy Text</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
Вышеприведенный код отлично разбивает страницу на google chrome, но, похоже, не работает в браузере Firefox, может ли кто-нибудь решить, как мне вставлять разрыв страницы в браузере Firefox.
Посмотрите, что я нашел в документах FF: https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-before?redirectlocale=en-US&redirectslug=CSS%2Fpage-break-before
Эти свойства применяются к блочным элементам, которые генерируют поле. Он не будет применяться к пустому, который не будет генерировать поле.
1 - Попробуйте проверить, размещал ли "display: block;" в вашем элементе работает:
<asp:DataList ID="DataList1" runat="server" style="display:block;">
<table id="tbtest" style="page-break-before:always;display:block;">
если у вас есть элемент до этого, попробуйте установить display:block
также
2 - У меня нет браузера Firefox, чтобы проверить правильно, но я использовал для размещения <p>
перед элементом, и он работал, попробуйте следующее:
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<p>
<table id="tbtest" style="page-break-before:always;">
<tr>
<td> Dummy Text</td>
</tr>
</table>
</p>
</ItemTemplate>
</asp:DataList>
или это:
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<p></p>
<table id="tbtest" style="page-break-before:always;">
<tr>
<td> Dummy Text</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
Попробуйте оба совета, но я не уверен на 100%, если некоторые из них будут работать, потому что я не могу сейчас тестировать, но, по крайней мере, вы знаете проблему из официальных документов и имеете некоторые вещи, чтобы попытаться работать. Надеюсь, это поможет.