MVC: Iterating a Viewbag array in javascript
目标是将数据从
1 2 3 4 | for(i = 0; i < @ViewBag.Array.Length; i++) { jScriptArray[i] = @ViewBag.Array[i]; } |
问题是
您可以尝试以下操作:
1 2 3 4 | var array = @Html.Raw(Json.Encode(@ViewBag.Array)); for(var i = 0; i < array.length; i++) { jScriptArray[i] = array[i]; } |
1 | var array=@Html.Raw(JsonConvert.SerializeObject(ViewBag.Array)); |
您可以使用JsonConvert.SerializeObjectHope对此有所帮助。
1 2 3 4 5 6 7 | var jScriptArray=[]; @{ for(i = 0; i < ViewBag.Array.Length; i++){ <text>jScriptArray[@i] ="@ViewBag.Array[@i]";</text> i++; } } |
您最终会在html文件中得到以下内容:
1 2 3 | jScriptArray[0] ="ArrayValue0"; jScriptArray[1] ="ArrayValue1"; jScriptArray[2] ="ArrayValue2"; |
实现目标的最佳方法是创建一个JSON控制器,将数据返回到JSON数组中。
通过javascript,您可以请求数据然后进行处理。
希望这会有所帮助