我从谷歌图表中得到了以下 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)]
}
]);
有谁知道怎么实现的吗?
最佳答案
您不需要使用 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)'],
}
关于javascript - Javascript 中的 C# Razor foreach 循环语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27251082/