我的WinForm
上有一个WebBrowser
控件,在其中我显示了一个带有jQuery的对话框,其中包含一个文本区和一个标记为"save“的按钮,其目的是从用户那里获取数据。
当用户单击保存按钮时,我希望检索文本区域中的文本并将其存储在WinForm应用程序的变量中。
这是否可能: jQuery函数向WinForm应用程序返回值?
发布于 2012-09-06 04:24:00
是的。
如果您计划对WindowsForm使用标准的WebBrowser
控件,请参见此属性: Javascript --底部有一个非常有用的示例,向您展示了如何执行回调到应用程序中的WebBrowser.ObjectForScripting
。
就我个人而言,我不喜欢为WinForms或WPF提供的WebBrowser控件--它们只是internet explorer的COM包装器。我更喜欢使用Awesomium.NET。
发布于 2012-09-06 04:23:46
您是特别想使用jQuery来完成这项工作,还是只想进行双向通信?使用jQuery或传统的web实践将需要在某个地方运行web服务器以供页面查询。
如果您只想进行双向通信,请设置WebBrowser.ObjectForScripting属性。这会将.Net对象作为window.external
公开给网页上的JavaScript代码。然后,页面上的JavaScript代码可以调用该对象上的方法和属性来与WinForms应用程序进行通信,比如在按下保存按钮时存储文本区域中的文本。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/a0746166.aspx。
https://stackoverflow.com/questions/12292640
复制