Javascript调用C#代码

本文探讨了如何在.NET的WebBrowser控件中,利用JavaScript调用C#的方法。通过设置WebBrowser控件的ObjectForScripting属性,使得宿主类可被脚本访问,从而实现JavaScript与C#代码的交互。示例中展示了创建一个OpenForm方法供JavaScript调用,以实现在客户端程序中嵌入网页并执行特定的C#功能。
摘要由CSDN通过智能技术生成

Javascript是一种脚本语言,它可以寄宿在各种不同的宿主中实现强大的功能。本文介绍的是嵌入在.Net的WebBrowser控件中显示的HTML文件中的Javascript如何调用C#代码。现在在客户端程序中嵌入网页的做法已经非常普遍了,例如腾讯的新闻弹出框之类的。

.Net的WebBrowser用的内核应该还是IE的。IE中,window对象有个external属性,这个属性提供了一个外部接口。可以执行宿主代码。要通过这个属性来调用C#方法,其宿主对象必须是ComVisible的。例如,我们在一个Form上放置一个WebBrowser控件,另外准备一个方法OpenForm供js调用。

[System.Runtime.InteropServices.ComVisibleAttribute(true)] 
  public partial class Main : KSBiz.UI.KSForm 
  { 
      public Main() 
      { 
          InitializeComponent(); 
      }

     //其余略

      public  void OpenForm(string s) 
      { 
            BasicInfo.CustomerList f = new StockManage.BasicInfo.CustomerList(); 
            f.Show(); 
            f.MdiParent = this; 
            webBrowser1.Visible = false; 
       }
}

再准备一个html文件:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值