【发布时间】:2014-01-25 09:57:06
【问题描述】:
我有一个带有webbrowser 控件的windows Dotnet 应用程序。
在按钮上单击它调用带有参数的javascript 函数,javascript 尝试将接收到的参数转换为数组。下面是我的 C# 和 JavaScript 代码
public Form1()
{
InitializeComponent();
webBrowser1.DocumentText = @"<html><head>
<script type='text/javascript'>
function doIt(val)
{
data = String(val);
chartval = new Array(data);
//alert('Method Invoked..................' + data);
for (var i = 0; i < chartval.length; i++)
{
alert('invoked.....'+chartval[i]);
}
return 'i did it!';
}
</script>
</head><body>hello!</body></html>";
}
private void button1_Click(object sender, EventArgs e)
{
string tempstring="[abcd],[efgh],[ijkl]";
string []objarr=new string[1];
objarr[0] = tempstring;
object y = webBrowser1.Document.InvokeScript("doIt", objarr);
MessageBox.Show(y.ToString());
}
这里tempstring 有一千个值。我想将 tempstring 值转换为 javascript 数组
现在我有文字提醒
invoked..... [abcd],[efgh],[ijkl]
我想要 3 个带有文本的警报
invoked..... abcd
invoked..... efgh
invoked..... ijkl
【问题讨论】:
-
这些
[...]的标志是什么?我没有看到任何使用它们的理由,但一个,好像你有一个像[[...],[...],[...]]这样的二维数组,我认为你只有一个像["abcd","efgh","ijkl"]这样的简单数组,如果我错了,请纠正我! -
@MehranHatami 这只是基于我的项目的模型 sn-p。我从系统中获取了这种数组 'string tempstring="[abcd],[efgh],[ijkl]"',所以我按原样使用它,实际上它包含数千个这样的值。
标签: c# javascript arrays browser webbrowser-control