javascript - Javascript 中的 C# Razor foreach 循环语法

标签 javascript c# asp.net-mvc-4 razor

我从谷歌图表中得到了以下 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/

相关文章:

javascript - 将链接放在解析的 json 结果上

javascript - 二进制转十六进制

c# - 在 MVC 应用程序中使用 await Task<T> async 挂起 Controller

c# - 我可以从 C# 应用程序发送 SMS 消息吗?

c# - 使用 Moq 验证调用的顺序是否正确

c# - 使用 group by 和 count lambda 表达式

c# - MVC 4 获取当前区域、 Controller 和 Action

javascript - 如何将js中声明的变量输入到node.js中的mssql查询中?

javascript - 全部完成后递归 "Fetch API"回调

c# - 使用 WCF 在 .NET 3.5 中定义路由