我需要将我的int数组传递给脚本标记,然后将值放在for循环中以在视图上使用它们 这是我的控制器动作:
relative
以下是我视图中的脚本标记:
public ActionResult Graph2()
{
int[] PostIDArray = { 1, 2, 3, 4, 5, 6, 7, 8 };
int[] CommentNumberArray = { 1, 2, 3, 4, 5, 6, 7, 8 };
ViewBag.PostIDArray = PostIDArray;
ViewBag.CommentNumberArray = CommentNumberArray;
return View();
}
我无法从控制器获取视图的值。 ViewBag出了点问题。我尝试了ViewData并且也没有用。
答案 0 :(得分:1)
尝试这样的事情:
<script type='text/javascript'>
// number array
var a = [ @(string.Join(", ", (int[])ViewBag.PostIDArray )) ];
console.log(a); // [1, 2, 3...]
var b = [ @(string.Join(", ", (int[])ViewBag.CommentNumberArray )) ];
console.log(b); // [1, 2, 3...]
</script>
答案 1 :(得分:0)
这个怎么样:
<input type="hidden" value="@ViewBag.PostIDArray" id="PostIDArray" />
<input type="hidden" value="@ViewBag.CommentNumberArray" id="CommentNumberArray" />
和脚本:
<script>
var freqData = [];
var postIDArray = $('#PostIDArray').val().splt(',');
var commentNumberArray = $('#CommentNumberArray').val().split(',');
for (var i = 0; i<8 ; i++) {
freqData.push({ PostID: postIDArray[i], Comment: commentNumberArray[i] });
}
</script>
答案 2 :(得分:0)
var array = @Html.Raw(Json.Encode(@ViewBag.Array));
for(var i = 0; i < array.length; i++)
{
freqData[i] = array[i];
}