blazor 组件中的 JS

kje*_*n31 0 javascript c# asp.net-core blazor

我正在尝试在 Blazor 组件中创建一条警报消息。我不知道该怎么做。我正在运行 ASP.NET Core 3.1 Blazor 服务器端。这是我尝试过的

组件功能:

private async Task ShowAlert()
    {
        await JSRuntime.InvokeAsync<object>("ShowMsg");
    }
Run Code Online (Sandbox Code Playgroud)

Javascript互操作:

function ShowMsg() {
    success = "Success!";
    return success; 
}
Run Code Online (Sandbox Code Playgroud)

文件host.cshtml

 <script src="~/BlazorInterop.js"></script>
    
Run Code Online (Sandbox Code Playgroud)

Isa*_*aac 5

@page "/"

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

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

把下面的脚本标签下方<script src="_framework/blazor.server.js"></script>的在_Host.cshtml文件中,就像这样:

@page "/"

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

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

  • 很多魔法弦。今天有更好的办法吗? (2认同)