У меня есть простое веб-приложение Blazor (серверная часть, .NET 8, VS2022).
Здесь главная страница:
@page "/"
@using System.Timers
@rendermode InteractiveServer
@StatusMessage
Start
@code {
private void StartHandler()
{
Countdown = 100;
timerCounter.Interval = 1000;
timerCounter.Elapsed += TimerCounter_Elapsed;
timerCounter.AutoReset = true;
timerCounter.Start();
}
private void TimerCounter_Elapsed(object? sender, ElapsedEventArgs e)
{
Countdown--;
StatusMessage = $"{Countdown}";
}
private Timer timerCounter = new Timer();
private int Countdown = 0;
private string StatusMessage = "";
}
Он должен запускать таймер при нажатии кнопки и показывать обратный отсчет на странице.
Но когда я нажимаю кнопку, ничего не происходит.
При следующих нажатиях он показывает счетчик, например 99 или 97.
Я не понимаю, что происходит.
Почему событие таймера не срабатывает?
Спасибо.
Я попробовал обратный отсчет при нажатии кнопки, и это работает.
Но мне нужно событие, которое срабатывает таймер.
Вот мой файл App.razor:
Подробнее здесь: https://stackoverflow.com/questions/786 ... pplication