Javascript调用C#代码
2023-06-13 09:14:26 时间
本文介绍的是嵌入在.Net的WebBrowser控件中显示的HTML文件中的Javascript如何调用C#代码。现在在客户端程序中嵌入网页的做法已经非常普遍了,例如腾讯的新闻弹出框之类的。
.Net的WebBrowser用的内核应该还是IE的。IE中,window对象有个external属性,这个属性提供了一个外部接口。可以执行宿主代码。要通过这个属性来调用C#方法,其宿主对象必须是ComVisible的。例如,我们在一个Form上放置一个WebBrowser控件,另外准备一个方法OpenForm供js调用。
复制代码代码如下:
.Net的WebBrowser用的内核应该还是IE的。IE中,window对象有个external属性,这个属性提供了一个外部接口。可以执行宿主代码。要通过这个属性来调用C#方法,其宿主对象必须是ComVisible的。例如,我们在一个Form上放置一个WebBrowser控件,另外准备一个方法OpenForm供js调用。
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
publicpartialclassMain:KSBiz.UI.KSForm
{
publicMain()
{
InitializeComponent();
}
//其余略
publicvoidOpenForm(strings)
{
BasicInfo.CustomerListf=newStockManage.BasicInfo.CustomerList();
f.Show();
f.MdiParent=this;
webBrowser1.Visible=false;
}
}
再准备一个html文件:
<body>
<h1>欢迎使用</h1>
<ahref="#"onclick="window.external.OpenForm("test");">客户列表</a>
</body>
在HTML文件中,就可以通过如上的方法来调用C#的方法。
在FormLoad事件中,为WebBrowser控件设置url,以及设置脚本执行的宿主:
privatevoidMain_Load(objectsender,EventArgse)
{
System.IO.FileInfofile=newSystem.IO.FileInfo("top.htm");
//WebBrowser控件显示的网页路径
webBrowser1.Url=newUri(file.FullName);
//将当前类设置为可由脚本访问
webBrowser1.ObjectForScripting=this;
}
这样就好了。
相关文章
- javascript 高级教程 视频_精通JavaScript
- Excel与XML相互转换 – C# 简单实现方案[通俗易懂]
- c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法
- javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
- C#启动,停止Windows服务详解编程语言
- JavaScript学习总结(二十)——Javascript非构造函数的继承详解编程语言
- JavaScript学习总结(十七)——Javascript原型链的原理详解编程语言
- Python、Java、C#、Perl 创始人聚首畅谈编程语言的未来
- C实现高效多句Oracle数据库操作(c#执行多句oracle)
- Javascript常用运算符(Operators)-javascript基础教程
- Javascript更新JavaScript数组的uniq方法
- C#编写方法实例
- C#后台调用前台javascript的五种方法小结
- C#中TrimStart,TrimEnd,Trim在javascript上的实现
- Javascript异步加载详解(浏览器在javascript的加载方式)
- JavaScript高级程序设计阅读笔记(十六)javascript检测浏览器和操作系统-detect.js
- C#词法分析器之正则表达式的使用
- 解决C#中取消方向键对控件焦点控制的实现方法
- 关于C#基础知识回顾--反射(三)
- c#SendMail发送邮件实例代码
- 正则表达式语法规则及在Javascript和C#中的使用方法
- javascript模拟实现C#String.format函数功能代码
- C#的SQL操作类实例
- c#+JQurey实现获取radio和checkbox的值
- C#使用this关键字实现串联构造函数调用方法
- C#后台创建控件并获取值的方法
- C#之WinFormWebBrowser实用技巧汇总