我正在使用Rotativa (版本1.6.3)从我的观点生成pdf。我有一个简单的部分视图(_OverallResultPrintVersion.cshtml):
@Styles.Render("~/bundles/css")
<img src="@Url.Action("DrawChart", "Vote", new {area = "Award"})"/>在我返回PartialViewAsPdf的操作中,它将打开一个空的pdf页面,并且"DrawChart“操作不会像预期的那样被调用。下面是我如何在投票控制器中实现我的操作:
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时,它会显示图像,但这不是我想要实现的。知道为什么罗塔蒂瓦PartialViewAsPdf不能从局部的角度调用我的行动吗?
PS:这些操作没有授权限制,所以我在创建FormsAuthenticationCookieName时不需要启动PartialViewAsPdf属性。
发布于 2015-03-26 03:49:33
以下是解决这一问题的解决办法。这需要增加一个新的动作!(OverallResultPrintVersion)在OverallResultPdf操作中,需要返回一个ActionAsPdf,而不是返回PartialViewAsPdf。
public ActionResult OverallResultPdf()
{
return new Rotativa.ActionAsPdf("OverallResultPrintVersion");
}
public ActionResult OverallResultPrintVersion()
{
return PartialView("Widget/_OverallResultPrintVersion");
}DrawChart()操作保持不变。
https://stackoverflow.com/questions/29268449
复制相似问题