【发布时间】:2015-09-25 16:35:10
【问题描述】:
我有一个带有WebBrowser control 的 Winforms 表单。
我已经弄清楚了如何通过将 C# 类的实例附加到 ObjectForScripting 属性来将 C# 代码连接到 Web 浏览器控件中的 Javascript,如下所示:
public partial class Browser : Form
{
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.ObjectForScripting = new ScriptInterface();
}
}
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]
public class ScriptInterface
{
public void DoSomething(string data)
{
// Do something interesting with data here
}
}
...然后像这样从 Javascript 调用它:
<button onclick=window.external.DoSomething('with this')/>
我还没有弄清楚如何从 WebBrowser 控件中的表单捕获 POST 操作的结果,并在我的 C# 代码中使用它。
【问题讨论】:
-
您要拦截表单帖子吗?你可以用 jQuery 代替吗?看起来让 jQuery 将数据传回您的外部方法相当简单。
-
听起来就好了。
标签: javascript c# winforms webbrowser-control