我试图在我的视图上获取图表,并在我的视图中将其显示为:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>ChartResult</h2>
<% using (Html.BeginForm("HandleChartType", "Chart")) %>
<% { %>
<%= Html.DropDownList("ListItems", "Select Chart Type")%>
<input type="submit" value="Set Chart" />
<%} %>
<% myChart.Controls.Add(ViewData["Chart"] as Chart); %>
<asp:Panel ID="myChart" runat="server"></asp:Panel>
<!--<img src="/Chart/CreateChart" alt="" />-->
<h2>FormResults</h2>
</asp:Content>
此行&lt;%myChart.Controls.Add(ViewData [“Chart”]为图表); %GT;生成错误消息使用自定义TextWriter时,OutputStream不可用
这是来自控制器的代码:
public ActionResult ChartResult()
{
List<string> items = GetFilteredChartTypes();
ViewData["ListItems"] = new SelectList(items);
Chart myChart = CreateChart(SeriesChartType.Column);
ViewData["Chart"] = myChart;
return View();
}
CreateChart函数只创建一个以Column作为图表类型的图表。 为什么我会收到此错误,使用自定义TextWriter时,OutputStream不可用?
答案 0 :(得分:0)
我认为这个问题是错误的。 构建图表时,您有两种选择。
一种方法是生成图表图片,然后您的视图将包含<img />
标记,src
属性设置为控制器/操作的url,生成图表图像。
另一种方法是使用JSON操作构建控制器,该操作返回图表仅数据。这是更灵活的方式,因为您可以自由选择任何可视化图表的现成javascript库(html5 canvas或svg)