将C#List <string>转换为Javascript

Wil*_*lie 6 javascript c# asp.net-mvc json

我想将List类型的Model属性转换为可在同一视图中使用的Javascript变量.这是我的模型结构:

 public string Title { get; set; }
 public string Description { get; set; }
 public List<String> ImgLinks { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想要一个Javascript数组或我模型的ImgLinks属性的json.我试过了-

var imageLinks = @(Html.Raw(Json.Encode(Model.ImgLinks)));
Run Code Online (Sandbox Code Playgroud)

但我收到语法错误警告.任何人都可以帮助我转换为javascript数组和json吗?

Vib*_*aul 6

要摆脱“语法错误”,您只需删除 ; 在末尾

var imageLinks = @Html.Raw(Json.Encode(Model.ImgLinks))
Run Code Online (Sandbox Code Playgroud)

尽管有警告,您的代码无论如何都会运行良好。

如果有人感兴趣,这里有一种不同的解决方案。您可以遍历 razor 集合并将值存储在这样的 Javascript 数组中。

<script type="text/javascript">

    var myArray = [];

    @foreach (var link in Model.ImgLinks)
    {
        @:myArray.push("@link");
    }

</script>
Run Code Online (Sandbox Code Playgroud)