我今天一直在使用图表而且我认为我最终找到了一种工作方式,但我遇到了一个我不知道如何通过的问题。
在我的控制器中创建我的图表:
foreach (var m in model[0].HistoryValues)
{
var chart = new Chart(width: 300, height: 200)
.AddSeries(
chartType: "bar",
xValue: new[] { "Server", "Db", "Tickets" },
yValues: new[] { m.ServerPerformance, m.Databaseperformance, m.SoldTicketsLastUpdate })
.GetBytes("png");
m.Bytes = chart;
//m.ChartFile = File(chart, "image/bytes");
};
现在我想在视图中将它们显示为图像:
@foreach (var m in Model[0].HistoryValues)
{
<img src="@Html.Action("getImage", "OverWatch", new { byte[] Mybytes= m.Bytes })" alt="Person Image" />
}
但是我得到了:
无效的匿名类型成员声明符。匿名类型成员必须 声明成员作业,简单名称或成员访问权。
getImage方法:
public FileContentResult getImage(byte[] bytes)
{
return new FileContentResult(bytes, "image/jpeg");
}
我该如何解决这个问题?
答案 0 :(得分:1)
在匿名类型中,您不定义变量类型byte []。它根据m.Bytes的类型
自行完成@foreach (var m in Model[0].HistoryValues)
{
<img src="@Html.Action("getImage", "OverWatch", new { Mybytes= m.Bytes })" alt="Person Image" />
}