Таймер не работает в веб-приложении BlazorC#

Место общения программистов C#
Anonymous
Таймер не работает в веб-приложении Blazor

Сообщение Anonymous »

У меня есть простое веб-приложение 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

Вернуться в «C#»