asp.net-mvc-3 – ASP.NET MVC 3 MSChart错误:此数据系列只能设
发布时间:2020-12-15 23:55:58 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试使用 Microsoft’s charting library建立一个股票图表. 我正在使用此代码在我的视图中创建图表: @{ System.Web.Helpers.Chart cht = new Chart(600,400); cht.AddTitle(ViewData["Symbol"].ToString()); cht.AddSeries(name: "Price",chartType:
我正在尝试使用
Microsoft’s charting library建立一个股票图表.
我正在使用此代码在我的视图中创建图表: @{ System.Web.Helpers.Chart cht = new Chart(600,400); cht.AddTitle(ViewData["Symbol"].ToString()); cht.AddSeries(name: "Price",chartType: "Stock",chartArea: "Top",xField: "Date",xValue: Model,yFields: "Open,High,Low,Close",yValues: Model); cht.Write(); } 当调用获取图表的操作时,抛出以下异常: ArgumentOutOfRangeException: Data points insertion error. Only 1 Y values can be set for this data series. Parameter name: yFields System.Web.UI.DataVisualization.Charting.DataPointCollection.DataBindXY(IEnumerable xValue,String xField,IEnumerable yValue,String yFields) +1076598 System.Web.Helpers.Chart.ApplySeries(Chart chart) +508 System.Web.Helpers.Chart.ExecuteChartAction(Action`1 action) +174 System.Web.Helpers.Chart.GetBytes(String format) +144 System.Web.Helpers.Chart.Write(String format) +96 “Stock”chartType应该允许Y的4个值,并且当使用反射器检查Chart帮助程序的代码时,这似乎得到确认.我错过了什么吗? 解决方法
通过自己构建图表,绕过帮助程序,我能够解决这个问题.
using (Chart chart = new Chart()) { chart.Width = 600; chart.Height = 400; chart.RenderType = RenderType.BinaryStreaming; chart.Palette = ChartColorPalette.Bright; chart.ChartAreas.Add("Top"); chart.ChartAreas.Add("Bottom"); chart.Series.Add("Price"); chart.Series.Add("Volume"); chart.Series["Price"].ChartArea = "Top"; chart.Series["Volume"].ChartArea = "Bottom"; chart.Series["Price"].ChartType = SeriesChartType.Stock; chart.Series["Volume"].ChartType = SeriesChartType.Column; for (int x = 0; x < data.Quotes.Count / 2; x++) { Quote quote = data.Quotes[x]; chart.Series["Price"].Points.AddXY(quote.Date,quote.Open,quote.High,quote.Low,quote.Close); chart.Series["Volume"].Points.AddXY(quote.Date,quote.Volume); } using (MemoryStream memStream = new MemoryStream()) { chart.SaveImage(memStream,ChartImageFormat.Jpeg); return File(memStream.ToArray(),"image/jpeg"); } } 此代码在我的控制器中,并且不存在任何视图,因为它返回实际的图像资源. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在fileupload中选择立即调用C#函数文件
- asp.net – 如何在.net核心框架中使用TransactionScope?我
- 如何使用WSP将Asp.net Web应用程序部署到Sharepoint 2010站
- asp.net – 如何将kendo Ui下拉选择值的ID传递给控制器???
- asp.net – 使用Google货币转换API时,输入字符串不是正确的
- asp.net – global.asax断点未命中
- asp.net-mvc – 如何在视图上下文之外获取ModelMetadata?
- asp.net-mvc – 使用模型更改更新scaffolded控制器和视图
- asp.net – 绕过表单身份验证自动重定向到登录,如何?
- asp.net – ASP:NET确认密码字段
推荐文章
站长推荐
- asp.net – 单击时更改asp:CheckBox的文本
- asp.net – 停止从域(也称为“无Cookie域”)设置
- 如何在ASP.NET网站项目中使用最新的VB.NET语言级
- asp.net – SCRIPT5022:Sys.WebForms.PageReque
- asp.net-mvc-3 – 在foreach()和if()中单独打开标
- 这个ASP.NET功能在哪里记录? <%= string forma
- asp.net-mvc – Asp.net Mvc:使用LINQ to SQL创
- asp.net – 从Google财经,雅虎金融或交易所获取股
- asp.net-core – 为什么在我的ASP.NET Core 1.0(
- asp.net – 保护SQL Server 2008R2数据库
热点阅读