blazor最好在razor/html中进行nullcheck



假设我有

class foo
{
public List<string> Values {get;set;}=New()
}

和组件内

foo? bar;
protected override async Task OnInitializedAsync()
{
bar= await _ds.Get<foo>();
}

所以现在在剃刀里有没有其他/更好的方法进行nullcheck?

@if (bar!= null)@foreach(var x in bar.Values)
{
<MudSelectItem  Value="x">@x</MudSelectItem>
}

最好是

@foreachWhenNotnull(var x in bar.Values)...

我知道我可以像一个组件那样做,但也许这是最简单的方法?

感谢并问候

最好检查它是否像您自己的代码中的null,因为根据它是否为null,您可以决定显示错误或消息。但是,如果您只是想避免出现System.NullReferenceException错误,您可以执行以下

使用空条件运算符

@foreach (var x in bar?.Values ?? new())
{
<MudSelectItem Value="x">@x</MudSelectItem>
}

你也可以这样做:

foo bar;
protected override async Task OnInitializedAsync()
{
bar = (await _ds.Get<foo>()) ?? new();
}

相关内容

  • 没有找到相关文章

最新更新