使用mvc自定义TextWriter时,OutputStream不可用

时间:2011-06-23 15:00:54

标签: c# asp.net-mvc charts

我试图在我的视图上获取图表,并在我的视图中将其显示为:

<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不可用?

1 个答案:

答案 0 :(得分:0)

我认为这个问题是错误的。 构建图表时,您有两种选择。

一种方法是生成图表图片,然后您的视图将包含<img />标记,src属性设置为控制器/操作的url,生成图表图像。

另一种方法是使用JSON操作构建控制器,该操作返回图表仅数据。这是更灵活的方式,因为您可以自由选择任何可视化图表的现成javascript库(html5 canvas或svg)