繁体   English   中英

如何将数据从WebBrowser控件中的JavaScript返回到C#?

[英]How can I return data from JavaScript in a WebBrowser control to C#?

我的WinForm上有一个WebBrowser控件,其中显示了一个jQuery对话框,其中包含一个文本区域和一个标有“保存”的按钮,目的是从用户那里获取数据。

当用户单击保存按钮时,我希望在文本区域中检索文本并将其存储在WinForm应用程序中的变量中。

这是否可能:jQuery函数将值返回到WinForm应用程序?

是的。

如果您打算对WindowsForm使用标准的WebBrowser控件,请参见以下属性: WebBrowser.ObjectForScripting在底部有一个非常有用的示例,向您确切显示如何执行回调到应用程序中的Javascript。

我个人不喜欢WinForms或WPF提供的WebBrowser控件-它们只是Internet Explorer的COM包装器。 我更喜欢使用Awesomium.NET

您是否特别想使用jQuery来做到这一点,还是只想进行双向通信? 使用jQuery或传统的网络惯例将需要一台运行在某处的Web服务器以供页面查询。

如果只需要双向通信,请设置WebBrowser.ObjectForScripting属性。 这会将.Net对象作为window.external公开给网页上的JavaScript代码。 然后,页面上的JavaScript代码可以调用该对象上的方法和属性,以与WinForms应用程序进行通信,例如在按下“保存”按钮时存储文本区域中的文本。

有关更多信息,请参见http://msdn.microsoft.com/zh-cn/library/a0746166.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM