Javascript 如何在WebBrowser控件中捕获帖子的结果?

Javascript 如何在WebBrowser控件中捕获帖子的结果?,javascript,c#,winforms,webbrowser-control,Javascript,C#,Winforms,Webbrowser Control,我有一张Winforms表格,上面有一个 我已经找到了如何将C#代码连接到Web浏览器控件中的Javascript,方法是将C#类的实例附加到属性,如下所示: public partial class Browser : Form { private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { webBrowser1.Obje

我有一张Winforms表格,上面有一个

我已经找到了如何将C#代码连接到Web浏览器控件中的Javascript,方法是将C#类的实例附加到属性,如下所示:

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
    }
}
<button onclick=window.external.DoSomething('with this')/>
。。。然后从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
    }
}
<button onclick=window.external.DoSomething('with this')/>

我还没有弄清楚的是如何从WebBrowser控件中的表单捕获POST操作的结果,并在我的C代码中使用它。

您也许可以使用它来代替表单POST

假设您的表单id为
myForm

$( "#myForm" ).submit(function( event ) {     
  // Stop form from submitting normally
  event.preventDefault();

  // Get some values from elements on the page:
  var $form = $(this),
  var term = $form.find("input[name='s']").val(),
  var url = $form.attr("action");

  // Send the data using post
  var posting = $.post( url, { s: term } )
      .done(function(data) {
          //Pass the response back to your code
          window.external.DoSomething(data);
      });
});

你想截取这张表格吗?您可以用jQuery代替它吗?让jQuery将数据传递回您的外部方法似乎相当简单。这听起来很好。我是否从
标记中删除
action
属性,如
中所示?不,将其保留在那里。
var url…
行使用它来获取要发布到的url。哦,我明白了。我想我不会在任何地方发布它,只是将它传递到
脚本界面