Как использовать функции alert (), verify () и prompt () с помощью Blazor? - PullRequest
2 голосов
/ 20 марта 2020

Я изучаю технологию Blazor. Я запустил проект приращения по умолчанию в VS 2019, и я изменил код для Decrement с помощью verify () и alert, но он не работает.

 @page "/counter"

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Increment</button>
<button class="btn btn-primary btn-danger" onclick="if (confirm('Are you sure to Decrement')) { @DecrementCount() }">Decrement</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        currentCount++;
    }

    private void DecrementCount()
    {
        currentCount--;
        // alert('Operation Successfully executed')
    }
}

В моем фрагменте кода функция verify () работает отлично, но я хочу вызвать функцию Decrement не работает сборка не удалась. И я хотел бы добавить сообщение об успехе в мою функцию. Пожалуйста, предоставьте любую опцию вместо использования функций подтверждения (), оповещения ().

1 Ответ

3 голосов
/ 20 марта 2020

К сожалению, в Blazor пока нет реализации таких полезных функций .
Поэтому вам нужно использовать JSRuntime instance.

@inject IJSRuntime JsRuntime;

...

@code
{
    //...
    bool confirmed = await JsRuntime.InvokeAsync<bool>("confirm", "Are you sure?");
    //...
}

Это позволяет выполнять JS код прямо внутри вашего C# кода. При этом вы можете использовать любой JS logi c, который вы хотите создать необходимое поведение.

Подробнее см. docs .

...