您的位置:首页 > Web前端 > JavaScript

在WebBrowser中通过JS调用C#方法(转)

2013-01-13 21:56 686 查看
来源:http://www.lwolf.cn/blog/article/code/WebBrowser-js-call-csharp.htm

在Winform程序中,通过WebBrowser控件可以让Javascript 和 C#进行交互。要让JS调用C#方法,需要在类上设置ComVisible,然后还要设置WebBrowser的ObjectForScripting属性。
JS中调用只需使用:window.external.方法名

具体代码如下:

复制内容到剪贴板

程序代码
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Lwolf
{
public partial class Form1 : Form
{
//此类必须对 COM 可见,才能从Javascript中调用。
[ComVisible(true)]
public class ScriptManager
{
public ScriptManager()
{
}

//此方法可在JS中调用
public void CallFromJS(string message)
{
MessageBox.Show(message);
}
}

public Form1()
{
InitializeComponent();

webBrowser1.ObjectForScripting = new ScriptManager();

webBrowser1.DocumentText = @"<html>
<head>
<title>Test</title>
</head>
<body>
<input type=""button"" value=""点击"" onclick=""window.external.CallFromJS('TEST');"" />
</body>
</html>";
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: