document.write(Blazor页面如何调用documentwrite)

被浏览:9503

关注者:481

最佳回答:

今天做支付宝接口的集成,提交后获得了一段form代码:

<form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?......"> <input type="submit" value="立即支付" style="display:none" > </form><script>document.forms[0].submit();</script>

以前是用webform开发,直接调用JavaScript的document.write就好了。可是Blazor中没有document对象,该如何调用呢?

思路就是通过IJSRuntime来调用js函数。在www/site.js中,增加函数

function write(content) {document.write(content);}

然后在razor文件中,头部增加:

@inject IJSRuntime jsRuntime

在调用完支付宝接口之后,在调用:

jsRuntime.InvokeVoidAsync("write", response.Body);

response.Body就是支付宝返回的内容。

获赞数:133

收藏数:38

回答时间:2024-03-13 20:31:33