我在mvc3 razor视图中工作。我从下面的mvc3 razor视图创建pdf报告是我的控制器代码。
public ActionResult PReqDocPrint()
{
List<PReqPrintModel> Rec = new List<PReqPrintModel> { };
Rec = PReqPrint("", "", "");
return this.ViewPdf("Purchase Requisition", "PReqDocPrint", Rec);
}
我通过存储过程从数据库中获取数据并返回到控制器 我的观点代码如下。
@model IEnumerable<CBS.Models.PReqPrintModel>
@{
Layout = "~/Views/Shared/_LayoutForPrints.cshtml";
}
<table border="1" >
<tr>
<td>
<h2 style="text-align:center; font-family:Times New Roman;">Purchase Requisition</h2>
</td>
</tr>
</table>
<div style="color:Black;border-width:0px 1px 1px 0px;font-size:8px; font-weight:normal; page-break-before:always;">
@{
var OddColor = "#aaaaff";
var evenColor = "#EEFFFF";
var Odd = OddColor;
var eve = evenColor;
}
<table style="font-family:Times New Roman; font-size:small">
@foreach (var doc in Model.GroupBy(d => d.PReqNo))
{
foreach (var pre in doc)
{
<tr style="border:1;">
<td>
Purchase Requisition: @Html.Encode(pre.PReqNo)
</td>
<td>
Purchase Date: @String.Format("{0:dd/MM/yyyy}", @Html.Encode(pre.PReqDate.Date))
</td>
</tr>
<tr style="border:1;">
<td>
Store Location: @Html.Encode(pre.StName)
</td>
<td>
Department: @Html.Encode(pre.DeptName)
</td>
</tr>
<tr style="border:1;">
<td>
Remarks: @Html.Encode(pre.RefRemarks)
</td>
<td></td>
</tr>
}
<tr >
<td colspan="2">
<table border="1" style="color:Black;border-width:0px 1px 1px 0px;font-size:8px;font-family:Helvetica;font-weight:normal;">
<tr style="background-color:#7070a0; font-weight:bold; color:Black; border:1;" >
<td align="left">
Code
</td>
<td align="left">
Description
</td>
<td align="left">
Unit
</td>
<td align="left">
Part No
</td>
<td align="left">
Lot No
</td>
<td align="left">
Item Remarks
</td>
<td align="right">
Quantity
</td>
<td align="right">
Amount
</td>
</tr>
@foreach (var item in doc)
{
<tr bgcolor="@Odd">
<td align="left">
@Html.Encode(item.ItemCode)
</td>
<td align="left">
@Html.Encode(item.ItemDesc)
</td>
<td align="left">
@Html.Encode(item.Units)
</td>
<td align="left">
@Html.Encode(item.PartNo)
</td>
<td align="left">
@Html.Encode(item.LotNo)
</td>
<td align="left">
@Html.Encode(item.Remarks)
</td>
<td align="right">
@Html.Encode(item.QtyIN)
</td>
<td align="right">
@Html.Encode(item.Qty)
</td>
</tr>
}
if (Odd == OddColor)
{
Odd = evenColor;
}
else
{
Odd = OddColor;
}
}
</table>
</td>
</tr>
}
</table>
</div>
<div class="break"></div>
以下是从视图中返回的PDF结果图像
这里我想开始新的PDF页面当第二个采购申请号2014030001开始时。任何人请帮助我。 我已经尝试使用内联CSS进行分页或者表页分解:始终;并尝试使用page-break-before的单独div标签:always;但是没有任何东西可以获得我所需的结果。
此外,它不会在PDF视图中应用单独的样式表格式。