尝试在我的图表上调用写入功能时收到OutputStream is not available when a custom TextWriter is used.
错误。
部分:
@{
var pieChart = new Chart(width: 500, height: 350, theme: ChartTheme.Green)
.AddTitle("Reject Message Report")
.AddSeries(
name: "Rejects",
chartType: "Pie",
xValue: new[] { "Col1", "Col2", "Col3" },
yValues: new[] { "2", "3", "4" });
}
@pieChart.Write();
Partent:
<div class="container body-content">
@Html.Action("RejectMessageReport", "ALS")
</div>
控制器:
public ActionResult RejectMessageReport(int business = 1, int cra = 0)
{
RejectMessageReportViewModel model = new RejectMessageReportViewModel();
return PartialView("_RejectMessageReport", model);
}
答案 0 :(得分:2)
Chart.Write
方法写入输出流。您当前的代码在父操作方法的视图中调用操作方法。 Razor正在尝试为您的主视图执行代码,并且您的子操作方法视图代码结束它将返回输出。
您应该使用图像元素并将其源设置为呈现图形的操作方法的网址
<div class="container body-content">
<img src="@Url.Action("RejectMessageReport", "ALS")" />
</div>
这样,当razor执行主视图的代码时,它会生成图像标记的标记,并将src设置为RejectMessageReport
操作方法的网址(@Url.Action
方法返回此网址) 。您的浏览器将单独调用以加载img标记的图像源。在写入图像后,无需担心输出流是否可用(针对该调用)。