weixin_38864460
Azure蓝天
采纳率100%
2017-05-20 10:20 阅读 1.2k

C#winform程序中webbrowser通信问题

66

应该是一个很简单的问题,但是刚刚开始接触编程,希望说的详细一点。。。

后台的C#想要把一个变量值赋给webbrowser里运行的一个HTML网页,网页有js。

比如在C#中这样:
int a =1;
Timer t = new Timer();
t.Interval = 1000;
t.Tick += T;
t.Enabled = true;
a++;
(我希望要a一秒加一个数)

然后在网页里js部分:
var a;
function xxx(){ 
alert(a )
  } 
  setInterval("xxx()","1000");
我想能把a的值每次增加的都给网页 让网页用。这里就是弹一下

问题就在 如何让js获取c#中a的值??求大神。

迫不得已来提问,希望各位能用可以让非计算机专业的人能听懂的语言阐述清楚。谢谢各位的帮助。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    showbo GoCityPass新加坡曼谷通票 2017-05-20 13:41

    你要更新a的值可以用execScript,1楼给的是调用函数的,你调用xxx并不能更新a的值
    可以通过引用Microsoft.mshtml,实现对Javascript的操作,==>http://blog.csdn.net/luxiaoyu_sdc/article/details/6896451

     mshtml.IHTMLDocument2 doc = webBrowser1.Document.DomDocument as mshtml.IHTMLDocument2;
    mshtml.IHTMLWindow2 win = doc.parentWindow as mshtml.IHTMLWindow2;
    win.execScript(@"window.a="+a, "javascript");
    
    点赞 2 评论 复制链接分享
  • fight_in_dl 战在春秋 2017-05-20 10:31

    可以使用 InvokeScript 函数。

    下面是参考文章:

    http://www.dotnetcurry.com/ShowArticle.aspx?ID=194

    内有详细步骤,依照步骤来就可以,希望对您有帮助。

    点赞 2 评论 复制链接分享

相关推荐