我已经尝试在整个下午谷歌搜索一些相关的东西,但无济于事,所以我希望你们中的一些人能帮助我。
我正在使用一个 asp:wizard 用户控件,它从用户那里收集各种值,并以表格的形式在最终的“结果页面”上显示这些值。
我创建了一个单独的“GraphEngine”类,它采用 Bool 参数决定要创建的图表类型(行/堆叠列)
//T13 is selection of line/stacked column chart type.
public Chart GetChart(bool T13)
{
Chart chart = new Chart();
//define some shared properties no matter which ChartType.
chart.Width = 900;
chart.Height = 500;
chart.ChartAreas.Add("ChartArea1");
chart.Series.Add("Costs");
chart.Series.Add("Stages");
chart.Legends.Add("Legend1");
if (T13 == true)
{
//chart = charttype1 and add values from Dictionary<string, bool>
}
else
{
//chart = charttype2 and add values..............
}
return chart;
}
然后我在向导控件(acsx.cs 文件)的最后一步调用 GetChart。
GraphEngine GE = new GraphEngine(GraphData);
System.Web.UI.DataVisualization.Charting.Chart Chart = GE.GetChart(t13);
//What should I be saying here to render Chart as "Chart" rather than literal
LiteralGraph.Text = GE.GetChart(getSetGraphData, t13).ToString();
我不确定如何呈现图表
ID 为“Chart”的图表位于 .ascx 页面上 - 这不应该只填充来自 GE.GetChart(t13) 的返回信息;?
注意:如果我在用户控制向导步骤中创建/定义所有图表值和轴等,它会返回正常,但我需要分离图形生成,因为 ascx.cs 文件中有很多代码行(验证等)等等我想把我的 150 多行分开。这可能是做事的“正确”方式?
提前致谢。