我想使用下面的代码在mvc 3 razor中创建一个图形图表(感谢DotNetJalps):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Helpers;
namespace CodeSimplifiedTest.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
public ActionResult DrawChart()
{
var chart = new Chart(width: 300, height: 200)
.AddSeries(
chartType: "bar",
xValue: new[] { "10 Records", "20 Records", "30 Records", "40 Records" },
yValues: new[] { "50", "60", "78", "80" })
.GetBytes("png");
return File(chart, "image/bytes");
}
}
}
但是
我想从SQL Server 2008 R2数据库中检索xValues和Yvalues ...我必须在xValue之后输入什么代码:和yValue:或者控制器和视图中的某些代码从数据库中检索数据?我尝试了实体框架上下文......但它没有用。
由于
答案 0 :(得分:2)
以下是我用来制作来自EF的dbContext的图表....
public ActionResult PayorPieChart()
{
string xx = activePhysicianID;
ArrayList xValue = new ArrayList();
ArrayList yValue = new ArrayList();
XXXXXXX_MainEntities dbContext = new XXXXXXX_MainEntities();
var results = dbContext.Payor.Where(rs => rs.PhysicianIdentity.Equals(xx));
results.ToList().ForEach(rs => xValue.Add(rs.Identifier));
results.ToList().ForEach(rs => yValue.Add(rs.Strength));
var chart = new Chart(600, 300, ChartTheme.Blue);
chart.AddSeries(chartType: "Pie", xValue: xValue, yValues: yValue);
chart.AddTitle("Payor");
chart.Write("png");
return null;
}
答案 1 :(得分:0)
以下链接说明了如何使用“DataBindTable”方法绑定模型中的数据。在这里,数据在模型中构建。您可以在方法“GetChartData”中的模型中从sql server获取数据。
希望这会有所帮助!!