tnblog
首页
视频
资源
登录

Blazor的c#调用JavaScript传参

6721人阅读 2021/12/13 14:07 总访问:439562 评论:0 收藏:0 手机
分类: ASP.NET
  1. 1、新建类库ExampleMethed和BlazorMerhed
  2. private string name = "张三";
  3. private string result = string.Empty;
  4. private BlazorMerhed merhed;
  5. private DotNetObjectReference<ExampleMethed> reference;
  6. private async Task TriggerMethod()
  7. {
  8.       //两张方法结果一样
  9.    //merhed = new BlazorMerhed(JSRuntime);
  10.    //result = await merhed.CallHelloHelperGetHelloMessage(name);
  11.     reference = DotNetObjectReference.Create(new ExampleMethed(name));
  12.     result = await JSRuntime.InvokeAsync<string>("TriggerMethod", reference);
  13. }
  14. public void Dispose()
  15. {
  16.    merhed?.Dispose();
  17. }
  18. public class BlazorMerhed : IDisposable
  19. {
  20.    private readonly IJSRuntime _JSRuntime;
  21.    private DotNetObjectReference<ExampleMethed> reference;
  22.    public BlazorMerhed(IJSRuntime JSRuntime)
  23.    {
  24.        _JSRuntime = JSRuntime;
  25.    }
  26.    public ValueTask<stringCallHelloHelperGetHelloMessage(string name)
  27.    {
  28.        reference = DotNetObjectReference.Create(new ExampleMethed(name));
  29.        var message = _JSRuntime.InvokeAsync<string>("TriggerMethod", reference);
  30.        return message;
  31.     }
  32.     public void Dispose()
  33.     {
  34.        reference?.Dispose();
  35.     }
  36. }
  37. public class ExampleMethed
  38. {
  39.     public string Name { getset; }
  40.     public ExampleMethed(string name)
  41.     {
  42.        Name = name;
  43.     }
  44.        [JSInvokable]
  45.        public string GetHelloMessage() => $"Hello, {Name}!";
  46.     }
  47. window.TriggerMethod = (dotNetHelper) => 
  48. {
  49.    return dotNetHelper.invokeMethodAsync('GetHelloMessage');
  50. };

评价

ASP.NET core <font color='#ff5555'>Blazor 介绍

ASP.NET Core Blazor 介绍[TOC] 什么是WebAssembly? WebAssembly是浏览器中支持运行Wasm字节码的虚拟机规范。这...

ASP.NET core <font color='#ff5555'>Blazor 基础

ASP.NET Core Blazor 基础[TOC] 项目实践 项目环境 .NET Core 3.1 Blazor 创建项目 ...

<font color='#ff5555'>Blazor组件作用

1、wwwrout静态文件存放网页配置文件 2、Data文件夹 向FetchData组件提供示例天气数据WeatherForecastService的WeatherFo...

<font color='#ff5555'>Blazor特殊标记作用

1、@code{}内部是c#代码,包含ToggleNavMenu方法,是在@onclick=&quot;ToggleNavMenu&quot;中绑定次方法的设置collapseNavM...

<font color='#ff5555'>Blazor WebAssembly和color='#ff5555'>Blazor Server

BlrazorWebAssembly 1、BlazorWebAssembly是一个单页面框架,可以通过.net生成交互式客户端Web应用。BlazorWebAssembly使...

<font color='#ff5555'>Blazor生命周期

1、组件初始化 当组件从其父组件收到其初始化参数后,将调用OnInitalizedAsync和OnInitialized。 在组件同步操作时,请重...

<font color='#ff5555'>Blazorcolor='#ff5555'>的JavaScript和c相互调用

1、c#调用JavaScript privateMarkupStringmarkup=newMarkupString(); privatestringdate=DateTime.Now.ToString(); priv...

coreWeb(视图模型控制器)中调用<font color='#ff5555'>Blazor组件

1、创建Components文件夹,在文件夹下创建_Imports.razor全局组件相当于视图组件_ViewImports.cshtml和显示组件MyComponent...

MAUI <font color='#ff5555'>Blazor 语言设置国际化

MAUI Blazor 语言设置国际化[TOC] I18nText 前言这个软件包是在Blazor Web应用程序中本地化文本的另一种方式!特性 Blazo...

cAPS.NET 保存base64位格式<font color='#ff5555'>的图片

publicvoidUpload() { //取出图片对应的base64位字符 stringimgBase=Request[&quot;imgBase&quot;]; //c#里边的base6...

使用OLEDB读取不同版本Excel<font color='#ff5555'>的连接字符串设置

使用OleBD读取excel的时候,excel不同的版本,连接字符串的写法也会不一样。///&lt;summary&gt; ///读取excel ///&lt;/su...

vs2017 对 cOM 组件<font color='#ff5555'>的调用返回了错误 HRESULT E_FAIL

vs2017添加引用报错 对 COM 组件的调用返回了错误 HRESULT E_FAIL 1.以管理员身份打开vs2017开发人员命令指示符 2...

分布式服务架构与微服务架构概念<font color='#ff5555'>的区别与联系

分布式:分散压力。微服务:分散能力。当下理解分布式:不同模块部署在不同服务器上作用:分布式解决网站高并发带来问题集...

分布式-微服务-集群<font color='#ff5555'>的区别

1.分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区...

EasyUI弹窗批量修改combogrid下拉框<font color='#ff5555'>的值

JS方法//点击弹出批量修改框 UpdateLot:function(){ varrow=$(&quot;#dg&quot;).datagrid(&quot;getChecked&quot;); if(...
当你知道迷惑时,并不可怜,当你不知道迷惑时,才是最可怜的。
排名
11
文章
201
粉丝
10
评论
13
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
不管人生呈现出什么样貌,人生的构成要素都是一样的。