Pass parameters to PDF

1

Hello Developers!

This is my Controller

    public ActionResult PrintList()
    {
        return View();
    }
    public ActionResult PdfJardimAtl()
    {
        var estrangeiros = db.Tb_estrangeiros_pe.Where(s => s.Tb_territorios.TerritorioName == "JARDIM ATLÂNTICO");

        return new Rotativa.ViewAsPdf(estrangeiros)
        {
            PageSize = Size.A4,
            PageOrientation = Orientation.Landscape
        };
    }

With this controller I have to type several commands for each territory. Also, I have to generate multiple Views . I have 20 territories. That way my controller will have to generate 20 Views

I would like to use parameter:

public ActionResult PdfJardimAtl(string territorio)
    {
        var estrangeiros = db.Tb_estrangeiros_pe.Where(s => s.Tb_territorios.TerritorioName == territorio);

        return new Rotativa.ViewAsPdf(estrangeiros)
        {
            PageSize = Size.A4,
            PageOrientation = Orientation.Landscape
        };
    }

This is the View that I use to print the data in PDF

@model IEnumerable<mt2414_v6.Models.DataSet.Tb_estrangeiros_pe>

<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/ie10.css" rel="stylesheet" />
<link href="~/CustomThemes/structure-table-cx.css" rel="stylesheet" />
<link href="~/Content/bootstrap_edited.min.css" rel="stylesheet" />

<title>JARDIM ATLÂNTICO</title>

<table class="table-grey table-condensed">
    <tr class="table-secondary">
        <th scope="col" width="13%">@Html.DisplayNameFor(model => model.Nome)</th>
        <th scope="col" width="10%">@Html.DisplayNameFor(model => model.Tb_paises.PaisName)</th>
        <th scope="col" width="30%">@Html.DisplayNameFor(model => model.Endereco)</th>
        <th scope="col" width="7%">@Html.DisplayNameFor(model => model.Bairro)</th>
        <th scope="col" width="40%">@Html.DisplayNameFor(model => model.Obs)</th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>@Html.DisplayFor(modelItem => item.Nome)</td>
            <td>@Html.DisplayFor(modelItem => item.Tb_paises.PaisName)</td>
            <td>@Html.DisplayFor(modelItem => item.Endereco)</td>
            <td>@Html.DisplayFor(modelItem => item.Bairro)</td>
            <td>@Html.DisplayFor(modelItem => item.Obs)</td>
            <td></td>
        </tr>
    }

</table>

Here's the result:

ThisisthemainviewthatcallsthePDFpages:

ViewBag.Title="PrintList";
<h2>EXPORTAR LISTA PARA PDF</h2>
<li>@Html.ActionLink("CIDADE ALTA", "PdfCidadeAlt")</li>
<li>@Html.ActionLink("JARDIM ATLÂNTICO", "PdfJardimAtl")</li>
<li>@Html.ActionLink("PAULISTA", "PdfPaulista")</li>
Is it possible with just a single View I receive this parameter and generate the pages in PDF?

    
asked by anonymous 07.06.2018 / 22:49

0 answers