在带有参数的winforms web浏览器控件中从JS调用c#方法出错
Error calling C# method from JS in winforms webbrowser control with parameters
我正在尝试从web浏览器控件中打开的页面调用我的winform上的c#方法,如下所示:
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.objectforscripting%28v=vs.110%29.aspx在我的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;
调试时没有出现进入forms方法块。
我一定是漏掉了什么。
愚蠢的错误。我正在评估函数不是未定义的,因为你通常会在从代码的其他部分调用函数之前。由于某种原因,这个求值是引发错误的地方,而不是调用本身(这实际上是可以的)。
相关文章:
- 避免在来自HTML的Scala.js调用中重复包名称
- 如何从角度 js 调用 javascript 方法
- Odoo销售点如何访问模型并使用JS调用方法
- 存储在 2D 数组中的 js 调用函数
- 使用 Vue.js 调用 Node.js 服务器
- 有没有一种方法可以在windows上使用Grunt.js调用gitshell中的命令
- 使用助手METEOR-JS调用Facebook照片
- 当 Node.js 调用 HTML 时,外部 Javascript 和 CSS 不会对 HTML 产生影响
- 使用node.js调用webservice时需要一些帮助
- 如何调试JS调用
- 当控制台不在't在chrome中打开,有些项目不再可点击(有些js调用停止工作)
- 如何使用monk/node.js调用mongodb函数
- Marketo monchkin.js调用间歇性无响应.(CORS)
- 如何在AngularJS ngview中加载图像后执行foundation js调用
- file_get_contents在动态 js 调用中不起作用
- 从 JS 调用 IE Js 调试器
- 在 selectedOptions 属性中挖空 JS 调用函数
- JS调用方法,为什么不直接使用括号
- Angular JS调用Sinatra不返回数据
- 如何从 HTML 文档中的外部 JS 调用/启动此函数