在剃刀页面中初始化类型化数组的数组
Initializing array of typed arrays in razor page
在这里,我尝试实例化并初始化一个自定义类型的数组,以将其绑定到 Blazor 的组件 中。
它是一种数组数组。但是是打字的,第一个封装在class.
一级类型集合class(Link数组):
public class LinkArray
{
// constructor will automatically generate the addresses if not given
public LinkArray(string[] params links)
{ ... }
public Link[] Links { get; set; }
public Link Header { get; set; }
}
Link class:
public class Link
{
public string Title { get; set; }
public string Address { get; set; }
}
.razor 文件代码段中的初始化:
@code{
//LinkArray[] allColz;
// Method 1 : creating LinkArrays individually, and then trying to add each
// It has a constructor that can handle it via just passing the first parameter
LinkArray firstCol = new LinkArray("asd","asdasd","asdasd");
LinkArray secondCol = new LinkArray("asd","asdasd","asdasda","asdasd");
//LinkArray[] allColz = new LinkArray[] { 'firstCol', 'secondCol' };
List<LinkArray> allColz = new List<LinkArray>() { 'How to add firstCol & secondCol here');
}
用法:
<CustomComp AllColz="@allColz" />
如何用上面显示的 firstCol 和 secondCol 初始化和填充 allColz?
用法非常简单:
<CustomComp AllColz="@allColz" />
所以在你的组件代码中应该是
[Parameter] List<LinkArray> AllColz {get;set;}
我不清楚您为什么要在组件代码中设置此 属性。如果你想在组件中创建值然后从外部访问它(例如从父组件)那么你可能想要使用 returns 值的方法,而不是使用 Parameter
,例如
@code
{
public List<LinkArray> GetAllColz()
{
return allColz;
}
}
将第一层数据数组改为static
static LinkArray firstCol = new LinkArray("asd","asdasd","asdasd");
static LinkArray secondCol = new LinkArray("asd","asdasd","asdasda","asdasd");
然后通过以下行添加:
LinkArray[] allColz = new LinkArray[] {firstCol, secondCol };
在这里,我尝试实例化并初始化一个自定义类型的数组,以将其绑定到 Blazor 的组件 中。 它是一种数组数组。但是是打字的,第一个封装在class.
一级类型集合class(Link数组):
public class LinkArray
{
// constructor will automatically generate the addresses if not given
public LinkArray(string[] params links)
{ ... }
public Link[] Links { get; set; }
public Link Header { get; set; }
}
Link class:
public class Link
{
public string Title { get; set; }
public string Address { get; set; }
}
.razor 文件代码段中的初始化:
@code{
//LinkArray[] allColz;
// Method 1 : creating LinkArrays individually, and then trying to add each
// It has a constructor that can handle it via just passing the first parameter
LinkArray firstCol = new LinkArray("asd","asdasd","asdasd");
LinkArray secondCol = new LinkArray("asd","asdasd","asdasda","asdasd");
//LinkArray[] allColz = new LinkArray[] { 'firstCol', 'secondCol' };
List<LinkArray> allColz = new List<LinkArray>() { 'How to add firstCol & secondCol here');
}
用法:
<CustomComp AllColz="@allColz" />
如何用上面显示的 firstCol 和 secondCol 初始化和填充 allColz?
用法非常简单:
<CustomComp AllColz="@allColz" />
所以在你的组件代码中应该是
[Parameter] List<LinkArray> AllColz {get;set;}
我不清楚您为什么要在组件代码中设置此 属性。如果你想在组件中创建值然后从外部访问它(例如从父组件)那么你可能想要使用 returns 值的方法,而不是使用 Parameter
,例如
@code
{
public List<LinkArray> GetAllColz()
{
return allColz;
}
}
将第一层数据数组改为static
static LinkArray firstCol = new LinkArray("asd","asdasd","asdasd");
static LinkArray secondCol = new LinkArray("asd","asdasd","asdasda","asdasd");
然后通过以下行添加:
LinkArray[] allColz = new LinkArray[] {firstCol, secondCol };