Javascript中的C#Razor foreach循环语法

Javascript中的C#Razor foreach循环语法,javascript,c#,asp.net-mvc-4,razor,Javascript,C#,Asp.net Mvc 4,Razor,我从google chart获得了以下javascript代码: function drawTimeChart() { var dataArray = generateTimeChartArray(); var data = google.visualization.arrayToDataTable([ ['2001', '25'], ['2002', 35], ['2003', 25], ['2004', 55] ]);

我从google chart获得了以下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)]
                 }
                ]);
有人知道怎么做吗

您不需要使用,因为它将呈现模板,而不仅仅是值。只需使用
@item.year
即可获得该值,如:

var data = google.visualization.arrayToDataTable([
                @foreach (var item in Model.NumberOfReportedRecords){
                    ['@item.year', '@item.Status']
                 }
                ]);
更新1。

另外,我对如何定义foreach循环有些疑问-它可能不起作用,但您也可以尝试类似的方法(
@:
):


你还应该看看如何消毒输出端!这也是我的想法。但是当我写这篇文章的时候,我得到了一大堆错误,比如“预期的”,“无效的表达式项”,“只有赋值,调用,递增,递减,等待,和新的对象表达式可以用作语句”有什么线索吗?而如果我将foreach循环留空或手动插入值(如[2014,15]),则不会向您显示任何错误!上次更新修复了该问题!@:是我要找的东西:)
@foreach (var item in Model.NumberOfReportedRecords) 
        {
            @:['@(item.year)', '@(item.Status)'],
        }