我试图通过类似于此的Web浏览器控件中打开的页面在我的winform上调用C#方法:
在我的winform上我有这个方法:
public void Test(String message)
{
MessageBox.Show(message, "client code");
}
在我的网页上我打电话:
window.external.Test('called from script code');
当我试图调用它时,我收到一个javascript错误:"无效的过程调用或参数"
然而,当我修改我的表单方法不带参数(如public void Test()
)并因此在没有参数的情况下进行javascript调用时,它可以正常工作。我在尝试传递参数时遇到问题(我需要这样做)。
更多信息: 我的表单类上有以下属性:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
我正在分配ObjectForScripting:
webBrowser1.ObjectForScripting = this;
调试时,它似乎不会进入表格方法块。
我必须遗漏一些简单的东西。
答案 0 :(得分:0)
愚蠢的错误。我正在评估函数没有像往常一样在从代码的其他部分调用函数之前。出于某种原因,这个评估是提出错误的地方,而不是调用本身(实际上是好的)。