手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Javascript调用C#代码
Javascript调用C#代码
摘要:本文介绍的是嵌入在.Net的WebBrowser控件中显示的HTML文件中的Javascript如何调用C#代码。现在在客户端程序中嵌入网页...

本文介绍的是嵌入在.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文件:

复制代码 代码如下:

<body>

<h1>欢迎使用</h1>

<a href='#' onclick='window.external.OpenForm("test");' >客户列表</a>

</body>

在HTML文件中,就可以通过如上的方法来调用C#的方法。

在FormLoad事件中,为WebBrowser控件设置url,以及设置脚本执行的宿主:

复制代码 代码如下:

private void Main_Load(object sender, EventArgs e)

{

System.IO.FileInfo file = new System.IO.FileInfo("top.htm");

// WebBrowser控件显示的网页路径

webBrowser1.Url = new Uri(file.FullName);

// 将当前类设置为可由脚本访问

webBrowser1.ObjectForScripting = this;

}

这样就好了。

【Javascript调用C#代码】相关文章:

IE中jscript/javascript的条件编译

javascript模拟评分控件实现方法

JavaScript中的acos()方法使用详解

编写高质量JavaScript代码的基本要点

JavaScript中search()方法的使用

Objective-C 代码与Javascript 代码相互调用实例

JavaScript中的条件判断语句使用详解

javascript中eval解析JSON字符串

详解JavaScript中void语句的使用

JavaScript中的Math.SQRT1_2属性使用简介

精品推荐
分类导航