Asp.net mvc MVC3给出了一个空白图表
我的LoggedUserHome。控制器对图表执行此操作Asp.net mvc MVC3给出了一个空白图表,asp.net-mvc,charts,Asp.net Mvc,Charts,我的LoggedUserHome。控制器对图表执行此操作 public ActionResult GetGender() { var AllGender = new List<string>(from c in db.tbl_Profile select c.sex).ToList(); var Groping = AllGender .GroupBy(i => i) .Select(i
public ActionResult GetGender()
{
var AllGender = new List<string>(from c in db.tbl_Profile select c.sex).ToList();
var Groping = AllGender
.GroupBy(i => i)
.Select(i => new { sex = i.Key, CountGet = i.Count() }).ToArray(); //get a count for each
var key = new Chart(width: 300, height: 300)
.AddSeries(
chartType: "pie",
legend: "Gender Popularity",
xValue: Groping, xField: "sex",
yValues: Groping, yFields: "CountGet")
.Write("gif");
return null;
}
public ActionResult GetGender()
{
var AllGender=新列表(从db.tbl_配置文件中的c选择c.sex).ToList();
var Groping=AllGender
.GroupBy(i=>i)
.Select(i=>new{sex=i.Key,CountGet=i.Count()}).ToArray();//获取每个
var键=新图表(宽度:300,高度:300)
.AddSeries(
图表类型:“馅饼”,
传奇:“性别流行”,
xValue:Groping,xField:“sex”,
Y值:摸索,Y字段:“CountGet”)
。写(“gif”);
返回null;
}
在我看来,我已经
<img src="/LoggedUserHome/GetGender"/>
感谢Nexuss ToArray()建议,我通过读取数据库来填充图表。。非常感谢Nexuzz一个简单的解决方案是尝试替换您的
<img src="/LoggedUserHome/GetGender"/>
看着
@{
var d = new PrimeTrekkerEntities1();
var AllGender = new List<string>(from c in d.tbl_Profile select c.sex).ToList();
var Groping = AllGender
.GroupBy(i => i)
.Select(i => new { sex = i.Key, Count = i.Count() }); //get a count for each
var key = new Chart(width: 600, height: 400)
.AddSeries(
chartType: "pie",
legend: "Gender Popularity",
xValue: Groping, xField: "sex")
.Write("gif");
}
@{
var d=新的PrimeTrekkerenties1();
var AllGender=新列表(从d.tbl_配置文件中的c选择c.sex).ToList();
var Groping=AllGender
.GroupBy(i=>i)
.Select(i=>new{sex=i.Key,Count=i.Count()});//获取每个
var键=新图表(宽度:600,高度:400)
.AddSeries(
图表类型:“馅饼”,
传奇:“性别流行”,
xValue:摸索,xField:“性”)
。写(“gif”);
}
“是的”在这种情况下你不需要采取行动
更复杂的解决办法是离开
<img src="/LoggedUserHome/GetGender"/>
在视图中,但使GetGender()操作返回图表图像URL。所以,在GetGender()中可以做的是以某种方式将图表呈现到图像文件中,并返回包含图像路径的响应
更新:
我对您的示例进行了一些更新,因此它会在图表中显示数据。以下是我得到的:
@{
var AllGender = new List<string>() { "Male", "Female", "Male"};
var Groping = AllGender
.GroupBy(i => i)
.Select(i => new { sex = i.Key, Count = i.Count() }).ToArray(); //get a count for each
var key = new Chart(width: 600, height: 400)
.AddSeries(
chartType: "pie",
legend: "Gender Popularity",
xValue: Groping, xField: "sex",
yValues: Groping, yFields: "count")
.Write("gif");
}
@{
var AllGender=新列表(){“男性”、“女性”、“男性”};
var Groping=AllGender
.GroupBy(i=>i)
.Select(i=>new{sex=i.Key,Count=i.Count()}).ToArray();//获取每个
var键=新图表(宽度:600,高度:400)
.AddSeries(
图表类型:“馅饼”,
传奇:“性别流行”,
xValue:Groping,xField:“sex”,
Y值:摸索,Y字段:“计数”)
。写(“gif”);
}
您的示例有两个主要区别:
现在是一个数组。据我所知,查特希望能列举数据摸索
- 我添加了
和yvalue
参数,所以图表知道在Y轴上使用什么值yFields
- 简单的解决方法是尝试更换
<img src="/LoggedUserHome/GetGender"/>
看着
@{
var d = new PrimeTrekkerEntities1();
var AllGender = new List<string>(from c in d.tbl_Profile select c.sex).ToList();
var Groping = AllGender
.GroupBy(i => i)
.Select(i => new { sex = i.Key, Count = i.Count() }); //get a count for each
var key = new Chart(width: 600, height: 400)
.AddSeries(
chartType: "pie",
legend: "Gender Popularity",
xValue: Groping, xField: "sex")
.Write("gif");
}
@{
var d=新的PrimeTrekkerenties1();
var AllGender=新列表(从d.tbl_配置文件中的c选择c.sex).ToList();
var Groping=AllGender
.GroupBy(i=>i)
.Select(i=>new{sex=i.Key,Count=i.Count()});//获取每个
var键=新图表(宽度:600,高度:400)
.AddSeries(
图表类型:“馅饼”,
传奇:“性别流行”,
xValue:摸索,xField:“性”)
。写(“gif”);
}
“是的”在这种情况下你不需要采取行动
更复杂的解决办法是离开
<img src="/LoggedUserHome/GetGender"/>
在视图中,但使GetGender()操作返回图表图像URL。所以,在GetGender()中可以做的是以某种方式将图表呈现到图像文件中,并返回包含图像路径的响应
更新:
我对您的示例进行了一些更新,因此它会在图表中显示数据。以下是我得到的:
@{
var AllGender = new List<string>() { "Male", "Female", "Male"};
var Groping = AllGender
.GroupBy(i => i)
.Select(i => new { sex = i.Key, Count = i.Count() }).ToArray(); //get a count for each
var key = new Chart(width: 600, height: 400)
.AddSeries(
chartType: "pie",
legend: "Gender Popularity",
xValue: Groping, xField: "sex",
yValues: Groping, yFields: "count")
.Write("gif");
}
@{
var AllGender=新列表(){“男性”、“女性”、“男性”};
var Groping=AllGender
.GroupBy(i=>i)
.Select(i=>new{sex=i.Key,Count=i.Count()}).ToArray();//获取每个
var键=新图表(宽度:600,高度:400)
.AddSeries(
图表类型:“馅饼”,
传奇:“性别流行”,
xValue:Groping,xField:“sex”,
Y值:摸索,Y字段:“计数”)
。写(“gif”);
}
您的示例有两个主要区别:
现在是一个数组。据我所知,查特希望能列举数据摸索
- 我添加了
和yvalue
参数,所以图表知道在Y轴上使用什么值yFields