0

Rotativa (バージョン 1.6.3) を使用してビューから pdf を生成しています。私は単純な部分ビュー(_OverallResultPrintVersion.cshtml)を持っています:

 @Styles.Render("~/bundles/css")

 <img src="@Url.Action("DrawChart", "Vote", new {area = "Award"})"/>

Rotativa PartialViewAsPdf を返すときの私のアクションでは、空の PDF ページが開き、「DrawChart」アクションが期待どおりに呼び出されません。投票コントローラーで My アクションを実装する方法は次のとおりです。

public ActionResult OverallResultPdf()
{
    return new Rotativa.PartialViewAsPdf(
    @"~\Areas\Award\Views\Shared\Widget\_OverallResultPrintVersion.cshtml");
}

public ActionResult DrawChart()
{
     var model = getModel();
     return PartialView("Widget/_VotesColumnChart", model);
}

部分ビューの画像ソースを URL に置き換えると、画像が表示されますが、これは私が達成しようとしているものではありません。Rotativa PartialViewAsPdf が部分ビューからアクションを呼び出せない理由は何ですか?

PS: これらのアクションには承認制限がないため、PartialViewAsPdf を作成するときに FormsAuthenticationCookieName プロパティを開始する必要はありません。

4

1 に答える 1

1

この問題を解決するための回避策を次に示します。新しいアクションを追加するにはコストがかかります! (OverallResultPrintVersion) であり、OverallResultPdf アクションでは、PartialViewAsPdf を返す代わりに、ActionAsPdf を返す必要があります。

public ActionResult OverallResultPdf()
{
    return new Rotativa.ActionAsPdf("OverallResultPrintVersion");
}

public ActionResult OverallResultPrintVersion()
{
    return PartialView("Widget/_OverallResultPrintVersion");
}

DrawChart() アクションは変更されません。

于 2015-03-26T03:49:33.160 に答える