Mittal Patel
Mittal Patel

Reputation: 848

MVC2 : Passing string Array in ViewData, not able to use in Javascript

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

Answers (1)

Satpal
Satpal

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

Related Questions