使用blazor通过<path d =“”>访问数组

时间:2019-07-25 17:32:09

标签: c# charts morris.js blazor .net-core-3.0

我正在尝试使用morris.js创建图表。我将数据放在一个数组中。我正在尝试遍历属性内的数组。我无法访问该阵列。 (Blazor问题)?

我无法使图表生效。我输入了示例数据,便能够生成图表,但无法使用我的数组。当我尝试@integerArray,然后键入“。”什么都没有弹出,所以我假设我做错了。

<div class="panel-body">
    <h4 class="text-center">H4 Tag</h4>
    <div id="morris-line-chart" class="height-sm">
        <svg height="300" version="1.1">
            <path fill="none" stroke="#348fe2" d="attr="@foreach(var item in @integerArray){}""></path>
        </svg>
    </div>
</div>


@code{

    public class DataAccess
    {

        ApplicationDbContext _Context;

        public DataAccess(ApplicationDbContext applicationDbContext)
        {
            _Context = applicationDbContext;
        }

        void OnGet()
        {
            var data = (from ovenModel in _Context.OvenDataKey
                        select ovenModel).ToArray();
            int[] integerArray = new int[data.Count()];

            for (int i = 0; i <= integerArray.Length; i++)
            {
                integerArray[i] = data[i].Temp;
            }
        }
    }
}

我需要使用在@code中创建的数组在HTML上打印出图表。我只是不知道如何访问数组中的数据。

1 个答案:

答案 0 :(得分:0)

在类外的@code块中定义变量integerArray,如下所示:

@code {
   int[] integerArray {get;set;}
}

问题是Blazor无法访问您的类中的局部变量。但是,您可以在您的类中将其定义为静态

  • 我猜您正在使用服务器端Blazor,对吗?因为如果不是这样,则不能在客户端(客户端Blazor)上使用Entity Framework

  • 您应该知道Blazor与Razor Pages完全不同,尽管它们都使用Razor语法。您应该学习Blazor组件模型以及组件之间如何通信。如果我对此假设有误,我表示歉意...

希望这对您有帮助...