ASP.NET Core Razor Pages индикатор загрузки во время async Task

Пытаюсь сделать свой сайт на ASP.NET Core с Razor Pages. Есть страница через которую пользователь обращается к API, обращение происходит через асинхронный Task. Так как ответ приходит не мгновенно я решил сделать индикатор загрузки во время ожидания ответа.

версия .NET 7.0

Изначально план был такой: Используя @if в .cshtml получаю значение переменной bool IsLoaderVisible, которая изменяется в файле .cs, если true то индикатор загрузки показывается.

CSHTML:

@if (Model.IsLoaderVisible)
{
    <div class="loader-div">
        <div class="loader"></div>
    </div>
}

C#:

public async Task OnPostButtonClicked()
{
    IsLoaderVisible = true;

    // мой код

    IsLoaderVisible = false;
}

Этот план потерпел неудачу. Прошелся с брейкпоинтами в режиме отладки и выяснил что страница обновляется только после выполнения метода, полагаю что javascript в это время тоже не активен, так как попытки включить индикатор загрузки с его помощью тоже провалились, либо я делал что то не так, с javascript у меня пока что все очень плохо.

Из этого возникает мой вопрос: Как я могу активировать индикатор загрузки во время выполнения асинхронного Task?


Ответы (0 шт):