Reputation: 848
Below is the controller action which returns Arrays in ViewData.
ViewData["arrayTotalCertificateCount"] = arrayTotalCertificateCount;
ViewData["_CertificateCategory"] = _CertificateCategory;
ViewData["arrayCodeSeries"] = arrayCodeSeries;
ViewData["arrayCodeCounts"] = arrayCodeCounts;
return PartialView();
Now, in View, javascript, I am not able to access them.
Below is the code I have written in View Javascript.
var arrayTotalCertificateCount = new Array();
var i =0;
for(var item in <%= ViewData["arrayTotalCertificateCount"]%>)
{
arrayTotalCertificateCount[i] = item;
i=i+1;
}
It throws error like -
for(var item in System.String[])
Uncaught SyntaxError: Unexpected token ]
Can anyone please help me to convert this ViewData array in javascript array variable?
Upvotes: 1
Views: 1894
Reputation: 133403
Try this
<% 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;
}
Upvotes: 1