从List <string> C#填充JS数组

时间:2016-11-15 16:14:04

标签: javascript c# asp.net-mvc

我的模型C#中有List<string>在运行时填充,在我的视图中称为@Model.Names

填写该列表后,我想从该列表的值填充javascript中的数组,以便执行以下操作:

 var myArray = [];

//fill myArray with values from @Model.Names

 $("#tags").autocomplete({
   source: myArray 
  });

因此,当用户键入<input id="tags">时,他将获得一个自动填充,其中包含我在运行时填写的名称列表。

知道怎么做吗?

2 个答案:

答案 0 :(得分:3)

我更喜欢这种方式。没有手动循环,你也可以使用相当复杂的视图模型(只要你的类型中没有递归引用)。

var myArray = @Html.Raw(Json.Encode(Model.Names))

$("#tags").autocomplete({
    source: myArray 
});

答案 1 :(得分:2)

您可以尝试以下操作。

<script type="text/javascript">
    var myArray = [];
    @foreach (var name in Model.Names)
    {
        @:myArray.push("@name");
    }
</script>