List C#MVC-将列表从C#后端传递到JavaScript

List C#MVC-将列表从C#后端传递到JavaScript,list,model-view-controller,model,List,Model View Controller,Model,我是MVC模式的新手,从C#向JS传递变量时遇到了问题 Im将列表从viewmodel传递到Im存储在隐藏变量中的视图: 然后,当我试图在JS中获取此变量时: const myList=document.getElementById(“myID”).value 但是我得到了一个System.Collections.Generic.List,我对此无能为力。如何在JS中访问此列表?在.NET中,对象的默认字符串表示形式是类名。您不需要字符串,而是需要实际对象本身。在本例中,听起来您希望做的是对数

我是MVC模式的新手,从C#向JS传递变量时遇到了问题

Im将列表从viewmodel传递到Im存储在隐藏变量中的视图:

然后,当我试图在JS中获取此变量时:

const myList=document.getElementById(“myID”).value


但是我得到了一个System.Collections.Generic.List,我对此无能为力。如何在JS中访问此列表?

在.NET中,对象的默认字符串表示形式是类名。您不需要字符串,而是需要实际对象本身。在本例中,听起来您希望做的是对数据进行JSON编码。因此,您根本不需要
,您可以在视图中的JavaScript代码中直接执行此操作:

const myList = @Html.Raw(Json.Encode(Model.myList));

这将导致JavaScript中的
myList
成为服务器端模型上
myList
属性中的对象数组。

感谢您的回复。我收到一条错误消息:“IJsonHelper”不包含“Encode”的定义,并且找不到接受“IJsonHelper”类型的第一个参数的扩展方法“Encode”(是否缺少using指令或程序集引用?@ziBBit:Hmm.)。。。根据MVC版本的不同,它可能会发生巨大的变化。似乎为其他MVC版本提供了一些建议。相同的概念,只是不同的名称。