欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript調(diào)用C#代碼

 更新時(shí)間:2011年01月17日 23:30:14   作者:  
Javascript是一種腳本語言,它可以寄宿在各種不同的宿主中實(shí)現(xiàn)強(qiáng)大的功能。
本文介紹的是嵌入在.Net的WebBrowser控件中顯示的HTML文件中的Javascript如何調(diào)用C#代碼?,F(xiàn)在在客戶端程序中嵌入網(wǎng)頁的做法已經(jīng)非常普遍了,例如騰訊的新聞彈出框之類的。
.Net的WebBrowser用的內(nèi)核應(yīng)該還是IE的。IE中,window對象有個(gè)external屬性,這個(gè)屬性提供了一個(gè)外部接口??梢詧?zhí)行宿主代碼。要通過這個(gè)屬性來調(diào)用C#方法,其宿主對象必須是ComVisible的。例如,我們在一個(gè)Form上放置一個(gè)WebBrowser控件,另外準(zhǔn)備一個(gè)方法OpenForm供js調(diào)用。
復(fù)制代碼 代碼如下:

[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;
}
}

再準(zhǔn)備一個(gè)html文件:
復(fù)制代碼 代碼如下:

<body>
<h1>歡迎使用</h1>
<a href='#' onclick='window.external.OpenForm("test");' >客戶列表</a>
</body>

在HTML文件中,就可以通過如上的方法來調(diào)用C#的方法。
在FormLoad事件中,為WebBrowser控件設(shè)置url,以及設(shè)置腳本執(zhí)行的宿主:
復(fù)制代碼 代碼如下:

private void Main_Load(object sender, EventArgs e)
{
System.IO.FileInfo file = new System.IO.FileInfo("top.htm");
// WebBrowser控件顯示的網(wǎng)頁路徑
webBrowser1.Url = new Uri(file.FullName);
// 將當(dāng)前類設(shè)置為可由腳本訪問
webBrowser1.ObjectForScripting = this;
}

這樣就好了。

相關(guān)文章

  • js與C#進(jìn)行時(shí)間戳轉(zhuǎn)換

    js與C#進(jìn)行時(shí)間戳轉(zhuǎn)換

    最近在做一個(gè)項(xiàng)目,需要JS時(shí)間戳轉(zhuǎn)成C#里的時(shí)間,再把C#里的時(shí)間戳轉(zhuǎn)成JS的時(shí)間,就仔細(xì)研究了下js與C#進(jìn)行轉(zhuǎn)換的注意要點(diǎn),這里記錄下來,有需要的小伙伴自己拿走。
    2014-11-11
  • 淺談javascript中for in 和 for each in的區(qū)別

    淺談javascript中for in 和 for each in的區(qū)別

    兩個(gè)的作用都用來遍歷對象,但為什么有了for in語句了還要for each in語句呢,后來看了下for each in開發(fā)的文檔,for each in是作為E4X標(biāo)準(zhǔn)的一部分在javascript 1.6中發(fā)布的,而且它不是ECMAScript標(biāo)準(zhǔn)的一部分
    2015-04-04
  • js基于cookie記錄來賓姓名的方法

    js基于cookie記錄來賓姓名的方法

    這篇文章主要介紹了js基于cookie記錄來賓姓名的方法,涉及javascript使用cookie針對方可信息的存儲(chǔ)與讀取顯示相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • bootstrap導(dǎo)航、選項(xiàng)卡實(shí)現(xiàn)代碼

    bootstrap導(dǎo)航、選項(xiàng)卡實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了bootstrap導(dǎo)航、選項(xiàng)卡的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • js指定日期增加指定月份的實(shí)現(xiàn)方法

    js指定日期增加指定月份的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于js指定日期增加指定月份的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • javascript 拖動(dòng)表格行實(shí)現(xiàn)代碼

    javascript 拖動(dòng)表格行實(shí)現(xiàn)代碼

    用js實(shí)現(xiàn)的拖動(dòng)表格的tr行的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2011-05-05
  • JS高階函數(shù)原理與用法實(shí)例分析

    JS高階函數(shù)原理與用法實(shí)例分析

    這篇文章主要介紹了JS高階函數(shù)原理與用法,結(jié)合實(shí)例形式分析了javascript函數(shù)式編程、一等函數(shù)、高階函數(shù)等相關(guān)概念、原理及使用技巧,需要的朋友可以參考下
    2019-01-01
  • 微信小程序?qū)崿F(xiàn)炫酷的彈出式菜單特效

    微信小程序?qū)崿F(xiàn)炫酷的彈出式菜單特效

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)炫酷的彈出式菜單特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • javascript動(dòng)態(tài)創(chuàng)建及刪除元素的方法

    javascript動(dòng)態(tài)創(chuàng)建及刪除元素的方法

    這篇文章主要介紹了javascript動(dòng)態(tài)創(chuàng)建及刪除元素的方法,涉及針對DOM元素操作的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • js鼠標(biāo)點(diǎn)擊圖片實(shí)現(xiàn)隨機(jī)變換圖片的方法

    js鼠標(biāo)點(diǎn)擊圖片實(shí)現(xiàn)隨機(jī)變換圖片的方法

    這篇文章主要介紹了js鼠標(biāo)點(diǎn)擊圖片實(shí)現(xiàn)隨機(jī)變換圖片的方法,涉及鼠標(biāo)事件與隨機(jī)函數(shù)的使用技巧,需要的朋友可以參考下
    2015-02-02

最新評論