Rotativa action вернуть пустую страницу

У меня есть действие GetCoupons(int studentId) в CouponsController которые возвращают вид с купонами с выбранным студентом. Вот мой код:

[HttpGet]
public ActionResult GetCoupons(int studentId)
{
    var coupons = _context.Coupons
       .Where(c => c.StudentId == studentId)
       .Include(s => s.Student)
       .ToList();

    return View("Print", coupons);
}

View Print.cshtml выглядит следующим образом:

@modelIEnumerable<admin.Models.Coupons>
    @foreach (var coupon in Model)
    {
            <div class="col-sm-3">
                <div class="panel-body">
                    <div class="list-group">
                        <div class="list-group-item">
                            <i class="fa fa-2x fa-building-o pull-left"></i>
                            <label>Name</label>
                            <h4 class="list-group-item-heading">@coupon.Student.Name</h4>
                        </div>
                        <div class="list-group-item">
                            <label>Classe De:</label>
                            <h4 class="list-group-item-heading">@coupon.Student.ClasseId</h4>
                        </div>
                        <div class="list-group-item">
                            <label>No De Coupon</label>
                            <h4 class="list-group-item-heading">@coupon.CouponNumber</h4>
                        </div>
                        <div class="list-group-item">
                            <label>Code De Validation</label>
                            <h4 class="list-group-item-heading">@coupon.ValidationCode</h4>
                        </div>
                        <div class="list-group-item">
                            <label>Cours De</label>
                            <h4 class="list-group-item-heading"></h4>
                        </div>
                        <div class="list-group-item">
                            <label>Annee en cours</label>
                            <h4 class="list-group-item-heading">@DateTime.Now.Year</h4>
                        </div>
                        <div class="list-group-item">
                            <label>Signature</label>
                            <h4 class="list-group-item-heading"></h4>
                        </div>
                    </div>
                </div>
            </div>
    }
<div class="row ">
    <a href="@Url.Action("PrintToPdf","Coupons")" class="btn btn-default"><i class="fa fa-print"></i> Imprimer</a>
</div>

Когда я нажимаю на ссылку, чтобы распечатать страницу в формате PDF через PrintToPdf Действие на CouponsController, он возвращает пустую страницу. PrintToPdf Действие выглядит так:

public ActionResult PrintToPdf()
{
    return new ActionAsPdf("GetCoupons");
}

Я не знаю, где я делаю неправильно. Я застрял на этой неделе

1 ответ

Вы должны изменить свой PrintToPdf метод взять studentId и передать его

[HttpGet]
public ActionResult PrintToPdf(int studentId)
{
    return new ActionAsPdf("GetCoupons", studentId);
}
Другие вопросы по тегам