У меня есть этот код на моей странице:
@if (players == null)
{
<p><em>Loading...</em></p>
}
else
{
<p>Number of Players: @players.Count</p>
<p>Number of Teams: @teamsCount</p>
<p>Excess Players: @excessPlayers</p>
}
@code {
private List<PlayerModel> players;
private int teamsCount { get; set; }
private int excessPlayers { get; set; }
protected override async Task OnInitializedAsync()
{
players = await _db.GetPlayers();
int teamsCount = players.Count / 5;
int excessPlayers = players.Count % 5;
}
Загрузка html отображается правильно какое-то время, а затем players.Count
правильно обновляется и показывает 41, но teamsCount
и excessPlayers
всегда отображается 0.
Я пробовал вызывать StateHasChanged()
в конце OnInitializedAsync()
.
Я также пробовал устанавливать teamsCount
и excessPlayers
отдельным методом и вызывать StateHasChanged()
, но ни один из них не работал. И teamsCount
, и excessPlayers
по-прежнему отображаются как 0, хотя я вижу, что в коде они равны 8 и 1 соответственно, что правильно.
Что я делаю не так?