JS в компоненте блейзера - PullRequest
       45

JS в компоненте блейзера

0 голосов
/ 01 августа 2020

Я пытаюсь создать предупреждающее сообщение в компоненте Blazor. Понятия не имею, как это сделать. Я использую ASP. NET Core 3.1 Blazor на стороне сервера. Вот что я пробовал

Функция компонента:

private async Task ShowAlert()
    {
        await JSRuntime.InvokeAsync<object>("ShowMsg");
    }

Javascript Interop:

function ShowMsg() {
    success = "Success!";
    return success; 
}

Файл host.cshtml:

 <script src="~/BlazorInterop.js"></script>
    

1 Ответ

2 голосов
/ 02 августа 2020
@page "/"

<button @onclick="MessageBox">Show Message</button>

@code
{
    [Inject] IJSRuntime JSRuntime { get; set; }
    protected async Task MessageBox()
    {
       await JSRuntime.InvokeVoidAsync("exampleJsFunctions.ShowMsg", 
                                                    "Hello Blazor");
     }
}

Поместите следующий тег скрипта под <script src="_framework/blazor.server.js"></script> в файле _Host.cshtml, например:

<script src="_framework/blazor.server.js"></script>
<script>
    window.exampleJsFunctions =
    {
        ShowMsg: function (message) {
            window.alert(message);
        }
    };
</script>
...