无法使用数据库

时间:2017-09-13 21:51:10

标签: asp.net asp.net-mvc razor

我无法使用数据库中的数据构建图表。试过这样,但它不起作用

控制器:

public ActionResult Chart()
{
    return PartialView("_Chart");
}

在主视图中:

img src="@Url.Action("Chart")"/>

部分视图( _Chart.cshtml ):

@using TestProject.Models;

@{
    DateTime[] xVal = new DateTime();
    Decimal[] yVal = new Decimal();

    TestProjectContext db = new TestProjectContext();
    var deals = from d in db.DealsDirectory
                select d;

    deals.ToList().ForEach(x => xVal.Add(x.Date));
    deals.ToList().ForEach(y => yVal.Add(y.Price));

    var Chart = new Chart(width: 600, height: 400)
        .AddTitle("Зависимость цены от времени")
        .AddSeries(
            name: "USD",
            xValue: xVal,
            yValues: yVal,
            chartType:"Line")
        .Write();
}

1 个答案:

答案 0 :(得分:0)

您的代码存在一些基本的语法问题,这会阻止您的代码正确编译!

以下代码段无效!

DateTime[] xVal = new DateTime();
Decimal[] yVal = new Decimal();

您无法将DateTime对象分配给DateTime的数组/集合

您可以将implicit variable declaration与LINQ查询表达式一起使用。

这应该有效

@{      
    var db = new TestProjectContext();    

    var xVal = db.DealsDirectory.Select(g => g.Date).ToArray();
    var yVal = db.DealsDirectory.Select(g => g.Price).ToArray();

    var Chart = new Chart(width: 600, height: 400)
        .AddTitle("Зависимость цены от времени")
        .AddSeries(
            name: "USD",
            xValue: xVal,
            yValues: yVal,
            chartType:"Line")
        .Write();
}