ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript が C# コードを呼び出す_javascript スキル

JavaScript が C# コードを呼び出す_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 18:11:421402ブラウズ

この記事では、.Net の WebBrowser コントロールに表示される HTML ファイルに埋め込まれた Javascript が C# コードを呼び出す方法について説明します。 Tencent のニュース ポップアップ ボックスなどのクライアント プログラムに Web ページを埋め込むことは、現在では非常に一般的です。
.Net の WebBrowser は引き続き IE のカーネルを使用する必要があります。 IE では、ウィンドウ オブジェクトには外部インターフェイスを提供する外部属性があります。ホストコードを実行できます。このプロパティを通じて C# メソッドを呼び出すには、そのホスト オブジェクトが ComVisible である必要があります。たとえば、WebBrowser コントロールを Form に配置し、js が呼び出すメソッド OpenForm を準備します。

コードをコピー コードは次のとおりです。

[System.Runtime.InteropServices.ComVisibleAttribute( true)]
public 部分クラス Main : KSBiz.UI.KSForm
{
public Main()
{
InitializeComponent()
}
//残りは省略
public void OpenForm(string s)
{
BasicInfo.CustomerList f = new StockManage.BasicInfo.CustomerList();
f.MdiParent = this;
webBrowser1.Visible = false;
}
}

別の HTML ファイルを準備します:

Welcome


顧客リスト


HTML ファイルでは、上記のメソッドメソッド。
FormLoad イベントで、WebBrowser コントロールの URL を設定し、スクリプト実行のホストを設定します。



コードをコピーします コードは次のとおりです。 private void Main_Load(object sender, EventArgs e)
{
System.IO.FileInfo file = new System.IO.FileInfo("top.htm ");
// WebBrowser コントロールによって表示される Web ページのパス
webBrowser1.Url = new Uri(file.FullName);
// スクリプトからアクセスできるように現在のクラスを設定します
webBrowser1 .ObjectForScripting = this;
}


それでいいです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。