我正在尝试使用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上打印出图表。我只是不知道如何访问数组中的数据。
答案 0 :(得分:0)
在类外的@code块中定义变量integerArray,如下所示:
@code {
int[] integerArray {get;set;}
}
问题是Blazor无法访问您的类中的局部变量。但是,您可以在您的类中将其定义为静态
我猜您正在使用服务器端Blazor,对吗?因为如果不是这样,则不能在客户端(客户端Blazor)上使用Entity Framework
您应该知道Blazor与Razor Pages完全不同,尽管它们都使用Razor语法。您应该学习Blazor组件模型以及组件之间如何通信。如果我对此假设有误,我表示歉意...
希望这对您有帮助...