将C#数组传递给Javascript

The*_*mpp 4 javascript c# asp.net arrays

将C#数组传递给javascript变量的最佳方法是什么?

我有示例代码,但是这个返回字符来自C#数组,我希望以正常方式返回,就像javascript数组中的逐字一样;

C#代码背后:

 public string[] names = { "John", "Pesho", "Maria"};
 public JavaScriptSerializer javaSerial = new JavaScriptSerializer();
Run Code Online (Sandbox Code Playgroud)

javascript代码:

 <script>
    var a = '<%= this.javaSerial.Serialize(this.names) %>';
    for (var i = 0; i < a.length; i++) {
        console.log(a[i]);
    }
 </script>
Run Code Online (Sandbox Code Playgroud)

此脚本返回单个char数组中"names"数组中的所有单词.我想像["John"] ["Pesho"]那样以正常的方式回归......

将C#数组传递给javascript的最佳方法是什么?

当我运行此代码时,我在Chrome浏览器的控制台中获得以下内容:

[ Profile.aspx:44
" Profile.aspx:44
v Profile.aspx:44
a Profile.aspx:44
l Profile.aspx:44
e Profile.aspx:44
r Profile.aspx:44
i Profile.aspx:44
" Profile.aspx:44
, Profile.aspx:44
" Profile.aspx:44
p Profile.aspx:44
e Profile.aspx:44
s Profile.aspx:44
h Profile.aspx:44
o Profile.aspx:44
" Profile.aspx:44
, Profile.aspx:44
" Profile.aspx:44
m Profile.aspx:44
a Profile.aspx:44
r Profile.aspx:44
i Profile.aspx:44
a Profile.aspx:44
" Profile.aspx:44
] 
Run Code Online (Sandbox Code Playgroud)

Mat*_*hew 8

更换

var a = '<%= this.javaSerial.Serialize(this.names) %>';
Run Code Online (Sandbox Code Playgroud)

var a = <%= this.javaSerial.Serialize(this.names) %>;
Run Code Online (Sandbox Code Playgroud)

您将生成的JSON放入javascript字符串中,这将导致您的示例输出迭代Serialize调用的每个字符.