标题:winform与Javascript的相互调用的问题
只看楼主
zl453629963
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-17
结帖率:100%
已结贴  问题点数:20 回复次数:4 
winform与Javascript的相互调用的问题
Html代码:
<script language="javascript" type="text/javascript">
<!-- 提供给C#程序调用的方法 -->
function messageBox(message)
{
alert(message);
}
</script>
winForm代码:
using System.Security.Permissions;
[PermissionSet(SecurityAction.Demand, Name = "FullTrust
[System.Runtime.(true)]
public partial class Form1 : Form
{
public Form1()
{
// 调用JavaScript的messageBox方法,并传入参数
object[] objects = new object[1];
objects[0] = "C#访问JavaScript脚本";
webBrowser1.Document.InvokeScript("messageBox", objects); //这里报错的
InitializeComponent();
}
}
运行后出现一下错误:
图片加不上...只能手打了...
    未处理  NullReferenceException
    未将对象引用设置到对象的实例。

编辑工具是VS2010

有知道解决办法的,麻烦帮忙解决一下~谢谢了


[ 本帖最后由 zl453629963 于 2012-10-17 12:52 编辑 ]
搜索更多相关主题的帖子: javascript objects function message 
2012-10-17 12:30
shangsharon
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
威 望:7
帖 子:221
专家分:1261
注 册:2012-3-25
得分:20 
怎么能够在窗体Form初始化之前就调用Html页面内的js方法呢?webBrowser都还没初始化...
应该在webBrowser的目标文档加载完成后调用js方法,以下代码是可以成功调用js方法的.
程序代码:
 public Form1()
        {          
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
        }

        //目标文档加载完成调用的方法,代码是copy你的.
        void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            // 调用JavaScript的messageBox方法,并传入参数
            object[] objects = new object[1];
            objects[0] = "C#访问JavaScript脚本";
            webBrowser1.Document.InvokeScript("messageBox", objects); //这里报错的
        }       
2012-10-17 14:12
zl453629963
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-17
得分:0 
回复 2楼 shangsharon
我发上去之后也发现错在哪里了~不过还是谢谢你~~
我还想问下你,我要是想从WinForm给JS传一个数组要怎么做?
2012-10-17 16:26
shangsharon
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
威 望:7
帖 子:221
专家分:1261
注 册:2012-3-25
得分:0 
查了一下,arguments,这个参数可以获取到方法的参数.

就以上代码看 objects长度为1,arguments.length也是1.

知道该怎么做了吧.
2012-10-18 10:43
zl453629963
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-17
得分:0 
回复 4楼 shangsharon
试试看,
我是把数组拼成了一个字符串,然后在传到JS后,再用JS把他分开了。
2012-10-18 12:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383412-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.977289 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved