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