将列表传递给视图后如何转换列表的 C# 列表?

我已经使用 ViewBag 将列表列表从控制器传递到我的视图。该列表有 2 个项目,每个项目有 8 个子项目。我希望我的 console.log 显示一个数组的数组,但它在谷歌浏览器中显示如下。-> System.Collections.Generic.List 1[System.Collections.Generic.List1[System.String]]。


请帮助我,我不知道如何将其转换为数组的数组。


感谢你的帮助。谢谢。


<script>


      $(document).ready(function () {


           serverItem = '@ViewBag.serverItems';


           console.log(serverItem);


           });


</script>


犯罪嫌疑人X
浏览 89回答 1
1回答

侃侃尔雅

当你在服务器端有一个对象并且需要在javascript范围内使用它时,你必须通过渲染来传输它。你必须提供一种两者都兼容的格式,在这种情况下,json是一个不错的选择。对于样品:在 上razor,您定义一个 json 格式的字符串对象。(记得添加Newtonsoft.Json命名空间)@{&nbsp;&nbsp; &nbsp; var json = @Html.Raw(Json.Encode(ViewBag.serverItems));&nbsp;}在 javascript 中,您只需打印 json,它将是一个 javascript 对象。<script>&nbsp; &nbsp; &nbsp; $(document).ready(function () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;serverItem = @json;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;console.log(serverItem);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;});</script>
打开App,查看更多内容
随时随地看视频慕课网APP