17

目标是将数据从ViewBag.ArrayJavascript 数组中获取。数据是在控制器中计算的,所以我不能直接从数据库中获取它。我需要数据来用 jqplot 绘制图表。代码:

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

问题是“'i' 在当前上下文中不存在”,@ViewBag.Array[i]但在jScriptArray[i]. 任何帮助表示赞赏。

4

4 回答 4

54

您可以尝试以下方法:

var array = @Html.Raw(Json.Encode(@ViewBag.Array));
for(var i = 0; i < array.length; i++) {
    jScriptArray[i] = array[i];
}
于 2011-04-29T09:56:28.400 回答
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";
于 2015-02-02T18:59:17.430 回答
0
var array=@Html.Raw(JsonConvert.SerializeObject(ViewBag.Array));

您可以使用 JsonConvert.SerializeObject 希望这有帮助。

于 2020-01-27T14:00:53.150 回答
-1

实现目标的最佳方法是创建一个 JSON 控制器,将数据返回到 JSON 数组中。

您可以从您的 javascript 请求数据,然后对其进行处理。

希望这可以帮助

于 2011-04-29T09:57:27.750 回答