将列表<string>推送到javascript

时间:2017-09-10 13:16:39

标签: javascript jquery asp.net-mvc

我想在js脚本中将类型字符串列表推送到值字典中。 Js字典应该包含关键的DateTime,List作为值。

@foreach (KeyValuePair<DateTime, List<string>> item in Model.AssignedAttractions)
{
    <script type="text/javascript">
        var dictionary = [];

        $(function () {
            dictionary.push({
                key: @item.Key.ToShortDateString(),
                value: @item.Value.ToArray(),
            });
        });
    </script>
}

提供的解决方案value: @item.Value.ToArray()无效。

1 个答案:

答案 0 :(得分:1)

@using Newtonsoft.Json添加到View。然后,

dictionary.push({
    key: @item.Key.ToShortDateString(),
    value: @Html.Raw(JsonConvert.SerializeObject(item.Value)),
});

JsonConvert.SerializeObject将您的C#对象转换为JSON字符串

你也可以像这样避免循环:

@Html.Raw(JsonConvert.SerializeObject(Model.AssignedAttractions.Select(a => new { key = a.Key.ToShortDateString(), value = a.Value })));