Search code examples
javascriptasp.net-mvcarraysrazorviewbag

MVC: Iterating a Viewbag array in javascript


The goal is to get the data from the ViewBag.Array to a Javascript array. The data is calculated in the controller so I cannot fetch it straight from the database. I need the data to draw a chart with jqplot. Code:

for(i = 0; i < @ViewBag.Array.Length; i++)
{
    jScriptArray[i] = @ViewBag.Array[i];
}

The problem is "'i' does not exist in the current context" in the @ViewBag.Array[i] but has no problems in the jScriptArray[i]. Any help is appreciated.


Solution

  • You may try the following:

    var array = @Html.Raw(Json.Encode(@ViewBag.Array));
    for(var i = 0; i < array.length; i++) {
        jScriptArray[i] = array[i];
    }