0
我想制作一个图表。如何正确地为linq指定数组值?
这工作:
@model List<MyApp.Models.SystemModel>
@{var myChart = new Chart(width: 600, height: 400)
.AddTitle("Chart Title")
.AddSeries(
name: "Employee",
xValue: Model[0].HistoryValues.Select(x => x.LastUpdateSTR).ToArray(),
yValues: Model[0].
HistoryValues.Select(x => x.ServerPerformance).ToArray())
.Write();
}
但是我不想去研究[0]我想去,我有我的列表中的每个模型对象。
香港专业教育学院尝试这样:
@model List<MyApp.Models.SystemModel>
<div id="Chart col-md-6">
@{ var myChart = new Chart(width: 600, height: 400)
.AddTitle("ServerPerformance")
.AddSeries(
name: "ServerPerformance",
xValue: Model.Select(y => y.HistoryValues.Select(x => x.LastUpdateSTR)).ToArray(),
yValues: Model.Select(y => y.HistoryValues.Select(x => x.ServerPerformance)).ToArray()
)
.Write();
}
</div>
但是,这给了一个outOfrangeException:
数据点绑定错误。只有1 Y值可以设置此数据 系列
很明显,我认为我的LINQ代码是不正确的,我已经尝试了一些其他方法.foreach(),但是这给了我更大的头痛。
我该怎么做?
编辑:
我在我的控制器尝试这个。
var myChart = new Chart(width: 600, height: 400)
.AddTitle("ServerPerformance")
.AddSeries(
name: "ServerPerformance",
xValue: model.Select(y => y.HistoryValues.Select(x => x.LastUpdateSTR)).ToArray(),
yValues: model.Select(y => y.HistoryValues.Select(x => x.ServerPerformance)).ToArray());
X和Y值为空。
MODEL:
public string GuidId { get; set; }
public bool EverythingOffline { get; set; }
public bool ServerOnline { get; set; }
public long ServerPerformance { get; set; }
public string DomainName { get; set; }
public string Url { get; set; }
public string ErrorMessage { get; set; }
public long DomainId { get; set; }
public Guid Id { get; set; }
public bool DatabaseOnline { get; set; }
public bool Passed { get; set; }
public long Databaseperformance { get; set; }
public DateTime LastUpdate { get; set; }
public string LastUpdateSTR { get; set; }
public long SoldTicketsLastUpdate { get; set; }
public long SoldTicketsLastThirtyMin { get; set; }
public long SoldTicketsLastFifteenMin { get; set; }
public DateTime LastUpdateDate { get; set; }
public double LastUpdateDateMinutes { get; set; }
public DateTime SoldTitcketsDate { get; set; }
public List<SystemModel> HistoryValues { get; set; }
试试这个'Model.HistoryValues.Select(x => x.LastUpdateSTR).ToArray()' –
为什么不把逻辑移动到控制器中,在那里建立数组的列表并将它们赋值给模型属性,然后通过简单地说一些简单的东西来使用它作为Model.xV alues和Model.yValues –
@Kartikeya Khosla模型是我的模型对象的列表检查编辑 – ThunD3eR