asp.net 核心页脚中的页码(局部视图)

Page number in asp.net core footer (partial view)

我在 Asp.Net 核心 MVC 项目中使用 jsreport。除页码外,一切正常。

我正在为页脚使用部分视图。

这是局部视图:

<table style="font-size: 10px; padding-bottom: 5px; padding-top: 0in; padding-left: 0.25in; padding-right: 0.25in;">
    <tbody>
        <tr>
            <td style="width: 1.5in; text-align: left;"><b>@($"{DateTime.Now}")</b></td>
            <td style="width: 8.2in; text-align: center;">Brand Name</td>
            <td style="width: 1.5in; text-align: right;">Page&nbsp;<span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span></td>
        </tr>
    </tbody>
</table>

不幸的是,页码部分根本不起作用。我只在呈现的 PDF 中看到“Page of”。

我正在使用 Chrome-PDF 配方,不希望在页脚中使用 pdf-utils。

即使我在主报表正文视图中放入以下行,我仍然没有得到任何页码。

Page&nbsp;<span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span>

如有任何帮助,我们将不胜感激。

header html 需要传递给 Template.Chrome.HeaderTemplate 属性,您还需要使用 Template.Chrome.DisplayHeaderFooter 启用 header 打印并使用边距为 header 制作 space。

这是控制器操作的样子

[MiddlewareFilter(typeof(JsReportPipeline))]
public async Task<IActionResult> InvoiceWithHeader()
{
    var header = await JsReportMVCService.RenderViewToStringAsync(HttpContext, RouteData, "Header", new { });

    HttpContext.JsReportFeature()
        .Recipe(Recipe.ChromePdf)
        .Configure((r) => r.Template.Chrome = new Chrome {
            HeaderTemplate = header,
            DisplayHeaderFooter = true,
            MarginTop = "1cm",
            MarginLeft = "1cm",
            MarginBottom = "1cm",
            MarginRight = "1cm"
        });

    return View("Invoice", InvoiceModel.Example());
}

以及 Header 观点如何

<div style='text-align:center; font-size: 10px; width:100%'>Page number <span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span></div>

您可以在此处找到示例存储库
https://github.com/jsreport/jsreport-dotnet-example-webapp