Blazor學習記錄_9.C#和JS互操作__

23.C#和JS互操作

23.1 C#調用JS,使用IJSRuntime

js代碼:
<button onclick="javascript:alter("提示信息")">點我彈出提示</button>
C#調用JS:JsInteractive.razor頁面代碼,InvokeVoidAsync()方法和InvokeAsync() 方法

@Page "/jsinteractive"
<button @onclick="ShowAlter">點我彈出提示</button>
<button @onclick="Prompt">點我彈出框</button>
您輸入的姓名是:@Value

@inject IJSRuntime JS
@code
{
string? Value{get;set;}
async Task ShowAlert()
    {
        await JS.InvokeVoidAsync("alert","提示信息");
    }
async Task Prompt()
    {
       Value = await JS.InvokeAsync<string>("prompt","請輸入姓名");
    }
}

23.2 JS調用C#的方法一

  • 1.要求C#方法必須是靜態方法
  • 2.必須在靜態方法上打上[JSInvokable]特性標籤
  • 3.在js中使用靜態對象DotNet,同步方法使用DotNet.invokeMethod('C#程序集','方法名','參數1','參數2'...) ;異步方法使用DotNet.invokeMethodAsync('C#程序集','方法名','參數1','參數2'...)

23.3 JS調用C#的方法二

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章