Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
推送列表<;字符串>;在javascript中转换为字典值_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

推送列表<;字符串>;在javascript中转换为字典值

推送列表<;字符串>;在javascript中转换为字典值,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我想将类型字符串列表推送到js脚本中的值字典中。 Js字典应该包含键DateTime,并作为值列出 @foreach (KeyValuePair<DateTime, List<string>> item in Model.AssignedAttractions) { <script type="text/javascript"> var dictionary = []; $(function () {

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

@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>
}
@foreach(模型中的KeyValuePair项。分配的属性)
{
var字典=[];
$(函数(){
字典推送({
key:@item.key.ToShortDateString(),
值:@item.value.ToArray(),
});
});
}

提供的解决方案
value:@item.value.ToArray()
不起作用。

使用Newtonsoft.Json将
@添加到
视图中。然后呢,

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 })));

试一试,如果它能工作
@Html.Raw(Json.Serialize(item.Value))
它能在Razor视图中工作吗?它显示Json不包含定义,请使用Newtonsoft.Json将
@添加到视图顶部添加导入后无更改。应该从System.Web.Helpers导入Json吗?抱歉,请尝试
@Html.Raw(JsonConvert.SerializeObject(item.Value))