【发布时间】:2014-04-14 21:20:02
【问题描述】:
我有一个要打印的动态列表,当我到达 A4 尺寸的末尾而不是像示例那样的表格末尾时,我需要设置分页。
是否可以根据页面高度设置分页符?
其实我有:
@page
{
size: A4;
margin: 0;
page-break-before: always;
}
@media print
{
.page
{
margin: 0;
border: initial;
border-radius: initial;
width: initial;
min-height: initial;
box-shadow: initial;
background: initial;
page-break-after: always;
position: relative;
}
.page-break
{
display: block;
page-break-before: always;
}
}
动态视图由两个具有动态行的表组成,所以我永远不知道在哪里“剪切”页面:
<div class="page">
@foreach(var dme in Model)
{
<table class="dme-table">
<tr>
<th class="titulo" colspan="4">DME</th>
</tr>
<tr>
<th class="dme-table-num-th">Número</th>
<th>Data</th>
</tr>
<tr>
<td>@Html.DisplayFor(model => dme.Numero)</td>
</tr>
</table>
<table class="carga-table">
<tr>
<th>Cargas</th>
</tr>
<tr>
<th class="marcas">Marcas</th>
</tr>
@foreach(var carga in dme.Cargas)
{
<tr>
<td>@Html.DisplayFor(model => carga.Marcas)</td>
</tr>
}
</table>
</div>
<div class="page-break"></div>
}
</div>
有什么想法吗?
谢谢
【问题讨论】:
-
您可以尝试在@foreach(var carga in dme.Cargas) 中检查(if-,else-statement)页面的高度...如果高度达到您想要的目标,请设置您的分页符还有其他显示你的carga.Marcas
-
您好,谢谢,但是服务器端没有做foreach测试?
-
您似乎在 .page-break 之前多了一个。修复它,它可能会起作用
标签: html css asp.net-mvc razor