国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript調用C#代碼

2019-11-20 23:58:28
字體:
來源:轉載
供稿:網友
本文介紹的是嵌入在.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;
}

這樣就好了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰县| 象州县| 木里| 修武县| 合川市| 苏尼特左旗| 阿荣旗| 莒南县| 澄江县| 兰坪| 彭州市| 威海市| 吉隆县| 竹北市| 抚顺县| 礼泉县| 霍城县| 榆社县| 潞城市| 佛坪县| 延安市| 永修县| 陆良县| 德兴市| 南汇区| 石城县| 潞城市| 泗洪县| 新化县| 小金县| 西丰县| 凤山县| 塘沽区| 赤峰市| 得荣县| 玉林市| 温泉县| 商河县| 同德县| 班戈县| 龙州县|