我有一个基本的"包装" WinForms应用程序,它有一些基本控件和一个WebBrowser控件(System.Windows.Forms.WebBrowser)。这链接到一个Web服务,它完成所有实际的工作"我的申请。
出现了在应用程序之间传递一些基本数据的要求。其中一些可以使用DocumentCompleted / Navigated事件并使用URL属性来查看加载的页面,并将请求重定向到其他位置。
但是,我正在努力弄清楚如何传递不容易包含在网址中的数据。
无论如何在请求中设置cookie,或者至少从响应中访问cookie?
答案 0 :(得分:2)
您可以通过以 ObjectForScripting 的形式从传递的对象中调用方法来传递和获取数据。 试试这个
[ComVisible(true)]
public class MyScriptingClass{
private string SomeData;
public string GetSomeData(){
return SomeData + " Something";
}
public void SetSomeData(string some){
SomeData = some;
}
}
并设置webBrowser控件的 ObjectForScripting 属性-
webBrowser.ObjectForScripting = new MyScriptingClass();
现在,在您的javascript代码中调用这样的方法-
var someVarFromJs = window.external.GetSomeData();
window.external.SetSomeData("Something to set");