请选择 进入手机版 | 继续访问电脑版

饕餮源码网,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 15|回复: 7

[JavaScript] Javascript调用C#代码

[复制链接]

7万

主题

8万

帖子

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2011-1-17 23:30:14 | 显示全部楼层 |阅读模式
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文件:
复制代码 代码如下:
<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;
}

这样就好了。
回复

使用道具 举报

0

主题

1万

帖子

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-1-18 02:20:33 | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

6

主题

1万

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
发表于 2023-1-31 02:20:26 | 显示全部楼层
撒房产税陈飞飞
回复 支持 反对

使用道具 举报

0

主题

1万

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2023-8-18 12:59:33 | 显示全部楼层
啪啪啪生怕PSP怕
回复 支持 反对

使用道具 举报

0

主题

1万

帖子

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-9-11 06:48:41 | 显示全部楼层
看看看看看看看看看看看看看看看看看看看看看看看看看看看
回复 支持 反对

使用道具 举报

0

主题

1万

帖子

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-10-24 17:10:45 | 显示全部楼层
额UI废物iuhfujewfiewnnfen
回复 支持 反对

使用道具 举报

4

主题

1万

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2023-11-11 11:48:30 | 显示全部楼层
不错的源码论坛
回复 支持 反对

使用道具 举报

29

主题

1万

帖子

194

积分

注册会员

Rank: 2

积分
194
发表于 2023-11-21 17:27:21 | 显示全部楼层
dfdsafdsfdsfdsf
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|饕餮源码网 ( 海外版 )

GMT+8, 2023-11-29 01:15 , Processed in 0.179500 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表