【问题标题】:Get all items from model (asp.net mvc)从模型中获取所有项目(asp.net mvc)
【发布时间】:2016-02-01 20:30:45
【问题描述】:
    $("#collectorscompleted").kendoChart({
        legend: {
            visible: false
        },
        seriesDefaults: {
            type: "column"
        },
        series: [{
            name: "Completed",
            data: [@Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 4),
                   @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 8),
                   @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 14),
                   @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 18)]
        }, {
            name: "Failed",
            data: [@Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 4),
                   @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 8),
                   @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 14),
                   @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 18)]
        }],
        valueAxis: {
            labels: {
                visible: false
            },
            line: {
                visible: false
            },
            majorGridLines: {
                visible: false
            }
        },
        categoryAxis: {
            categories: [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18],
            line: {
                visible: false
            },
            majorGridLines: {
                visible: false
            }
        },
        chartArea: {
            background: "none"
        },
        tooltip: {
            visible: true,
            format: "{0}",
            template: "#= series.name #: #= value #"
        }
    });

我有以下脚本。但是,现在我自己很难输入类别,这是错误的。
我的问题是:如何从模型中获取所有CollectorIDs?

Categories: [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18], // 这里所有模型的collectorIDs

【问题讨论】:

  • 你试过@Model.CollectorIDs吗?
  • 我猜这不可能。我有一个包含 3 个模型的模型。程序状态、收集器状态和数据文件状态。模型 Collectorstatus 包含 startdate、enddate、id enz 等定义。

标签: javascript asp.net asp.net-mvc model


【解决方案1】:

您正在使用 MVC。要从模型中获取 collectorIds,您必须将其添加到您的控制器中。在调用此初始化程序之前,您必须在 ajax 中调用您的控制器。这看起来像这样

Java脚本

function GetCollectionInformationAjax()
    {
        $.ajax({
            type: "GET",
            url: "@Url.Action("GetCollectionInformation", "YourController")",
            contentType: "application/json",
            cache: false,
            success: function (data) {
                //call the initialzer here
                Initialize(data);
            },
            error: function (xhr, status, error) {

            }
        });
    }

C# 你的控制器

public actionResult GetCollectionInformation()
{
    //This is an exemple, you have to replace it!
    return [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18];
}

你的javascript

function Initialize(data)
{
$("#collectorscompleted").kendoChart({
    legend: {
        visible: false
    },
    seriesDefaults: {
        type: "column"
    },
    series: [{
        name: "Completed",
        data: [@Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 4),
               @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 8),
               @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 14),
               @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 18)]
    }, {
        name: "Failed",
        data: [@Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 4),
               @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 8),
               @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 14),
               @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 18)]
    }],
    valueAxis: {
        labels: {
            visible: false
        },
        line: {
            visible: false
        },
        majorGridLines: {
            visible: false
        }
    },
    categoryAxis: {
        categories: data,
        line: {
            visible: false
        },
        majorGridLines: {
            visible: false
        }
    },
    chartArea: {
        background: "none"
    },
    tooltip: {
        visible: true,
        format: "{0}",
        template: "#= series.name #: #= value #"
    }
});}

【讨论】:

    猜你喜欢
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多