最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2011年01月17日 23:30:14   作者:  
Javascript是一種腳本語(yǔ)言,它可以寄宿在各種不同的宿主中實(shí)現(xiàn)強(qiáng)大的功能。
本文介紹的是嵌入在.Net的WebBrowser控件中顯示的HTML文件中的Javascript如何調(diào)用C#代碼?,F(xiàn)在在客戶端程序中嵌入網(wǎng)頁(yè)的做法已經(jīng)非常普遍了,例如騰訊的新聞彈出框之類的。
.Net的WebBrowser用的內(nèi)核應(yīng)該還是IE的。IE中,window對(duì)象有個(gè)external屬性,這個(gè)屬性提供了一個(gè)外部接口??梢詧?zhí)行宿主代碼。要通過這個(gè)屬性來調(diào)用C#方法,其宿主對(duì)象必須是ComVisible的。例如,我們?cè)谝粋€(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)頁(yè)路徑
webBrowser1.Url = new Uri(file.FullName);
// 將當(dāng)前類設(shè)置為可由腳本訪問
webBrowser1.ObjectForScripting = this;
}

這樣就好了。

相關(guān)文章

最新評(píng)論

新宾| 交口县| 青海省| 长顺县| 玛曲县| 绥棱县| 平邑县| 中阳县| 长葛市| 黑河市| 桃园县| 诸暨市| 江门市| 玉林市| 吴堡县| 高雄市| 绍兴市| 沅陵县| 新泰市| 孝昌县| 左云县| 和田市| 汕尾市| 于都县| 肥东县| 公安县| 松江区| 红安县| 青铜峡市| 宾川县| 宜章县| 东海县| 灵川县| 腾冲县| 无为县| 武山县| 建宁县| 黎川县| 郓城县| 遂平县| 饶阳县|