gpt4 book ai didi

javascript - 如何将 JSON 数组传递给 C# WebBrowser 控件中的 javascript 函数?

转载 作者:行者123 更新时间:2023-12-01 02:32:22 24 4
gpt4 key购买 nike

我的 HTML 文档中有以下 javascript 函数:

function jsFunction(string, jsonArray, string) { ... }

jsonArray 的示例如下:

[
{"name":"foo", "value":"21980"},
{"name":"bar", "value":"100"},
{"name":"foo", "value":"27492328"},
{"name":"bar", "value":"WEB21980001831"}
]

我按照帖子“Creating an JSON array in C#”中的说明在 C# 中创建 JSON 数组对象。

从我的 Windows 窗体中,我应该能够像这样调用 JavaScript 函数:

 Object[] jsParams = new Object[3];
jsParams[0] = (Object)"test";
jsParams[1] = new
{
items = new[] {
new {name = "foo" , value = "21980"},
new {name = "bar" , value = "100"},
new {name = "foo" , value = "27492328"},
new {name = "bar" , value = "WEB21980001831"}
}
};
jsParams[2] = (Object)"test";

this.webBrowserCtl.Document.InvokeScript("jsFunction", jsParams);

但是,它不起作用。我是不是忘记了什么?

最佳答案

jsFunction有3个参数。

function jsFunction(string, jsonArray, string) { ... }

您发送了 4 个参数。

 jsParams[0] = (Object)"test";
jsParams[1] = new
{
items = new[] {
new {name = "foo" , value = "21980"},
new {name = "bar" , value = "100"},
new {name = "foo" , value = "27492328"},
new {name = "bar" , value = "WEB21980001831"}
}
};
jsParams[2] = (Object)"content";
jsParams[3] = (Object)"test";

删除此行。

 //jsParams[3] = (Object)"test";

解析jsonArray并在jsFunction中使用。

var data = JSON.parse(jsonArray ); 

关于javascript - 如何将 JSON 数组传递给 C# WebBrowser 控件中的 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48225812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com