>  기사  >  웹 프론트엔드  >  Javascript는 C# code_javascript 기술을 호출합니다.

Javascript는 C# code_javascript 기술을 호출합니다.

WBOY
WBOY원래의
2016-05-16 18:11:421428검색

이 문서에서는 .Net의 WebBrowser 컨트롤에 표시되는 HTML 파일에 포함된 Javascript가 C# 코드를 호출하는 방법을 설명합니다. 이제 Tencent의 뉴스 팝업 상자와 같은 클라이언트 프로그램에 웹 페이지를 삽입하는 것이 매우 일반적입니다.
.Net의 WebBrowser는 여전히 IE의 커널을 사용해야 합니다. IE에서 창 개체에는 외부 인터페이스를 제공하는 외부 특성이 있습니다. 호스트 코드를 실행할 수 있습니다. 이 속성을 통해 C# 메서드를 호출하려면 해당 호스트 개체가 ComVisible이어야 합니다. 예를 들어, Form에 WebBrowser 컨트롤을 배치하고 js가 호출할 OpenForm 메서드를 준비합니다.

코드 복사 코드는 다음과 같습니다.

[System.Runtime.InteropServices.ComVisibleAttribute( true)]
공개 부분 클래스 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 파일 준비:
코드 복사 코드는 다음과 같습니다.


Welcome


Customer List


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

괜찮습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.