WPF调用javascirpt:WebBrowser.InvokeScript(string scriptName, params object[] args)传参方法

WPF调用代码:

new WebBrowser().InvokeScript("addAreasBoundary", new object[] { new object[] { "北京市", "天津市" } });

JS代码:

function addAreasBoundary(areas) {
        areas = areas.toArray();转换成js数组
        alert(areas);

}

在JS函数如上的前提下,WPF调用采用如下代码报错:

1.new WebBrowser().InvokeScript("addAreasBoundary", new object[] { "北京市", "天津市" } );

         程序会认为调用的是js函数有两个参数,故报错。

2.new WebBrowser().InvokeScript("addAreasBoundary", new object[] { new string[] { "北京市", "天津市" } });

         js只能识别VBArray和Variant objects,所以c#的string数组传入js后不能通过js的.toArray()方法转换成js数组,故报错。

3.new WebBrowser().InvokeScript("addAreasBoundary", new object[] { new object[] { 自定义对象实例, 自定义对象实例} });

         纯js无法操作自定义对象,故报错。

以上纯属个人观点,如果有误,欢迎批评指正。

参考:https://social.msdn.microsoft.com/Forums/vstudio/en-US/c950a3c2-d498-47ca-b54e-b18d55666595/webbrowserinvokescript-parameter-question

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值