c# - 如何通过 HtmlDocument.InvokeScript 将对象作为参数传递给 javascript

标签 c# javascript .net webbrowser-control

我正在使用以下代码从带有 WebBroser 控件的 C# 应用程序调用 javascript 函数

webBrowser1.Document.InvokeScript("function", new object[] { "arg" });

有什么方法可以将对象(除了字符串、 double 等)作为参数传递给函数测试吗?

class SomeObject 
{
     int number = 0;
     string str = "1234";
}

webBrowser1.Document.InvokeScript("function", new object[] { new SomeObject() });

上面的结果在 typeof(args1) 下面的 javascript 中返回 unknown

function function(arg1) {
   alert(typeof(arg1));
}

最佳答案

这显然是微不足道的。 SomeObject 类只需像这样标记为 COM 对象。

[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
class SomeObject 
{
     int number = 0;
     string str = "1234";
}

但是不能从 Javascript 访问属性。

关于c# - 如何通过 HtmlDocument.InvokeScript 将对象作为参数传递给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4388748/

相关文章:

javascript - 如何单击没有 onclick 事件的表单提交输入,但在页面中单击时会发生某些情况如何单击它?在 C# 中?

javascript - 使用 ExtJS 检查单选按钮

asp.net - JS中的多个用户控件实例和ClientID

javascript - 将 jquery 模态弹出脚本附加到按钮事件

c# - 需要像模态弹出窗口的Sharepoint

c# - 为方法参数赋值

c# - 在VB/C#中规范Wave文件

c# - Microsoft WPF 授权示例的模糊调用

c# - ASP.NET Identity UserManager 缓存用户?

javascript - 不分配给变量的条件运算符