目标是将数据从ViewBag.Array
获取到Javascript数组。数据在控制器中计算,因此我无法直接从数据库中获取数据。我需要数据用jqplot绘制图表。代码:
for(i = 0; i < @ViewBag.Array.Length; i++)
{
jScriptArray[i] = @ViewBag.Array[i];
}
@ViewBag.Array[i]
中的问题是“我在当前上下文中不存在”,但在jScriptArray[i]
中没有问题。任何帮助表示赞赏。
答案 0 :(得分:41)
您可以尝试以下方法:
var array = @Html.Raw(Json.Encode(@ViewBag.Array));
for(var i = 0; i < array.length; i++) {
jScriptArray[i] = array[i];
}
答案 1 :(得分:0)
<script>
var jScriptArray=[];
@{
for(i = 0; i < ViewBag.Array.Length; i++){
<text>jScriptArray[@i] = "@ViewBag.Array[@i]";</text>
i++;
}
}
</script>
你最终会在html文件中找到类似的内容:
jScriptArray[0] = "ArrayValue0";
jScriptArray[1] = "ArrayValue1";
jScriptArray[2] = "ArrayValue2";
答案 2 :(得分:0)
PrivateRoute
您可以使用JsonConvert.SerializeObject 希望对您有所帮助。
答案 3 :(得分:-1)
实现目标的最佳方法是创建一个JSON控制器,将数据返回到JSON数组中。
您可以通过javascript请求数据然后进行处理。
希望这有帮助