在Blazor web服务器应用程序中将用空格分隔的字符串转换为数组



在过去的5个小时里,我一直在努力解决这个问题,但找不到任何解决方案-请帮我解决这个问题。

这是我的代码:

@foreach (string title in titleList)  
{
<span> @title</span>
}
@code {
[Parameter]
public string theTitle { get; set; }
public static string[] titleList { get; set; } = theTitle.Split(", "); 
}

我一直收到这个错误:

字段初始值设定项不能引用非静态字段、方法或属性'RelatedTopics.Title'

在我更改为以下内容后:

[Parameter]
public static string theTitle { get; set; }

它在我的应用程序中仍然不起作用。请帮我解决这个问题。

不能使用一个实例变量来初始化另一个使用字段初始值设定项的实例变量。相反,将该代码放入OnParametersSet生命周期方法中。

@foreach (string title in titleList)
{
<span> @title</span>           
}
@code{
[Parameter]
public string theTitle { get; set; }
private string[] titleList = Array.Empty<string>();

protected override void OnParametersSet()
{  
if (!string.IsNullOrEmpty(theTitle))
{
titleList = theTitle.Split(", ");
}
}
}

如果你的字符串是空格分隔的,你应该使用theTitle.Split(" ");而不是theTitle.Split(", ");

最新更新