我从谷歌图表中获得了以下javascript代码:
function drawTimeChart() {
var dataArray = generateTimeChartArray();
var data = google.visualization.arrayToDataTable([
['2001', '25'],
['2002', 35],
['2003', 25],
['2004', 55]
]);
var options = {
title: 'Reported devices in MAUDE based on the term since 1990',
backgroundColor: '#EFEEEF',
hAxis: { showTextEvery: 4 }
};
var chart = new google.visualization.LineChart(document.getElementById('MaudeTimeChart'));
chart.draw(data, options);
}
我想要动态添加我插入数据的数据。我试过这样做:
var data = google.visualization.arrayToDataTable([
@foreach (var item in Model.NumberOfReportedRecords){
[@Html.DisplayFor(modelItem => item.year), @Html.DisplayFor(modelItem => item.Status)]
}
]);
任何人都知道如何使这项工作?
答案 0 :(得分:6)
您不需要使用Html.DisplayFor,因为它会呈现模板而不仅仅是值。仅使用@item.year
获取该值,如:
var data = google.visualization.arrayToDataTable([
@foreach (var item in Model.NumberOfReportedRecords){
['@item.year', '@item.Status']
}
]);
更新1。
我对你如何定义foreach循环有一些疑问 - 它可能不起作用,但你也可以尝试类似的东西(@:
explicitly indicates the start of content):
@foreach (var item in Model.NumberOfReportedRecords)
{
@:['@(item.year)', '@(item.Status)'],
}