Asp.net mvc MVC2:在ViewData中传递字符串数组,无法在Javascript中使用

Asp.net mvc MVC2:在ViewData中传递字符串数组,无法在Javascript中使用,asp.net-mvc,Asp.net Mvc,下面是在ViewData中返回数组的控制器操作 ViewData["arrayTotalCertificateCount"] = arrayTotalCertificateCount; ViewData["_CertificateCategory"] = _CertificateCategory; ViewData["arrayCodeSeries"] = arrayCodeSeries; ViewData["arrayCodeCounts"]

下面是在ViewData中返回数组的控制器操作

  ViewData["arrayTotalCertificateCount"] = arrayTotalCertificateCount;
        ViewData["_CertificateCategory"] = _CertificateCategory;
        ViewData["arrayCodeSeries"] = arrayCodeSeries;
        ViewData["arrayCodeCounts"] = arrayCodeCounts;

        return PartialView();
现在,在javascript看来,我无法访问它们

下面是我在ViewJavaScript中编写的代码

 var arrayTotalCertificateCount = new Array();
    var i =0;

    for(var item in <%= ViewData["arrayTotalCertificateCount"]%>)
    {    
        arrayTotalCertificateCount[i] = item;
        i=i+1;
    }
有人能帮我在javascript数组变量中转换这个ViewData数组吗?

试试这个

<% var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); %>
var arrayTotalCertificateCount = <%= serializer.Serialize(ViewData["arrayTotalCertificateCount"]) %>;
for(var item in arrayTotalCertificateCount )
{    
   arrayTotalCertificateCount[i] = item;
   i=i+1;
}

var arrayTotalCertificateCount=;
对于(arrayTotalCertificateCount中的var项)
{    
arrayTotalCertificateCount[i]=物料;
i=i+1;
}
试试这个

<% var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); %>
var arrayTotalCertificateCount = <%= serializer.Serialize(ViewData["arrayTotalCertificateCount"]) %>;
for(var item in arrayTotalCertificateCount )
{    
   arrayTotalCertificateCount[i] = item;
   i=i+1;
}

var arrayTotalCertificateCount=;
对于(arrayTotalCertificateCount中的var项)
{    
arrayTotalCertificateCount[i]=物料;
i=i+1;
}

Satpal,非常感谢您的快速回复。我尝试了你的解决方案,并消除了那个错误消息。但现在我的错误率已经降到了最低。我想这是因为有数字的空间。我不确定。var arrayTotalCertificateCount=“[“5”、“5”、“1”]”未捕获的语法错误:意外数字任何想法,我可以使用item.Trim()吗?Satpal,还有一个关于此的问题。我从控制器获得的代码系列为“70-158,70-169,70-181”,当我使用var arrayCodeSeries=“”)对其进行序列化时;我收到错误消息,如-var arrayCodeSeries=“[“\u002770-158,70-169,70-181\u0027”,“\u002770-158,70-177,70-181\u0027”,“\u002770-680\u0027”,null,null];未捕获的语法错误:意外标记非法------您能指导我吗?我尝试使用var arrayCodeSeries='';而且效果很好。。谢谢你的快速回复。我尝试了你的解决方案,并消除了那个错误消息。但现在我的错误率已经降到了最低。我想这是因为有数字的空间。我不确定。var arrayTotalCertificateCount=“[“5”、“5”、“1”]”未捕获的语法错误:意外数字任何想法,我可以使用item.Trim()吗?Satpal,还有一个关于此的问题。我从控制器获得的代码系列为“70-158,70-169,70-181”,当我使用var arrayCodeSeries=“”)对其进行序列化时;我收到错误消息,如-var arrayCodeSeries=“[“\u002770-158,70-169,70-181\u0027”,“\u002770-158,70-177,70-181\u0027”,“\u002770-680\u0027”,null,null];未捕获的语法错误:意外标记非法------您能指导我吗?我尝试使用var arrayCodeSeries='';而且效果很好。。谢谢