幽梦紫曦

Blazor的JavaScript和c#相互调用

电脑版发表于:2021/12/13 12:39
1、c#调用JavaScript
private MarkupString markup = new MarkupString();
    private string date = DateTime.Now.ToString();
    private async Task ConverArray()
    {
        var test = await JSRuntime.InvokeAsync<string>("ConvertArray", date);
        markup = new MarkupString(test);
        StateHasChanged();
    }
在_host.cshtml中写入方法
window.ConvertArray = (arr) => {
        console.log("c#调用JavaScript" + arr);
        return arr;
    }
2、JavaScript调用c#
[JSInvokable]//允许使用js调用
    public static Task<List<string>> ReturnArrayAsync()
    {
        List<string> list = new List<string>();
        list.Add("张三");
        list.Add("王二");
        list.Add("李四");
        //new MarkupString(list.ToArray().ToString());
        return Task.FromResult(list);
    }
window.returnArrayAsync = () => {
        DotNet.invokeMethodAsync('Blazor', 'ReturnArrayAsync')
            .then(data => {
                console.log("JavaScript调用c#" + data);
            });
    };
<button class="btn btn-primary" @onclick="ConverArray">.Net</button>
<button class="btn btn-primary" onclick="returnArrayAsync()">JavaScript</button>


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢