【问题标题】:Get values from a List inside a dictionary, created in c# in a view (js)从字典中的列表中获取值,在视图(js)中用 c# 创建
【发布时间】:2016-07-04 23:12:39
【问题描述】:

为了完成我的最后一个问题,我有一个模型类

    public class EvolutionGraphicData
{
    public string Name { get; set; }
    public string AddedDate { get; set; }
}

和一个字典(字符串,List())在代码后面(C#)中编码。我序列化它,以便能够从我的视图中访问它

string json = JsonConvert.SerializeObject(dicForGraph);
        return json;

并将其传递到 ViewBag 中。

现在,在我看来,我得到: 1:[object,Object],[object,Object]等,没关系

我的问题是,如何访问这些对象,以从中获取真正的价值(如 1:它应该是 "PersonName":"Per1","AddedDate":"1466650800000", "PersonName":" Per1","AddedDate":"1467255600000"

这是我的观点:

$(function () {
        var dataForGrap = @Html.Raw(ViewBag.DataList);
        $.each(dataForGrap, function(key, value) { 
            alert(key + ': ' + value);
        });
    })

*** 根据斯蒂芬的建议,我正在添加一些说明:

dicForGraph 是一个字典。 我有一个带表的数据库。它有姓名和电话号码总数,另一个有姓名、电话号码和添加日期。所以我使用字典将所有电话添加日期分组在一起:

var dicForGraph = new Dictionary<string, List<EvolutionGraphicData>>()

谢谢!

【问题讨论】:

  • 什么是dicForGraph?你为什么要使用Dictionary
  • dicForGraph 是一个字典。我在数据库中有一个包含姓名和电话号码总数的表格,另一个包含姓名、电话号码和添加日期的表格。所以我使用字典将每个名称下的所有电话添加日期分组在一起: Dictionary> dicForGraph = new Dictionary>();
  • 使用详细信息编辑您的问题(不在 cmets 中)
  • 嘿伙计们...如果您甚至没有回答我的问题,添加一些负面因素有什么意义?你是想把我赶出页面??????
  • value 是一个对象数组,因此您需要第二个$.each() 来循环遍历List&lt;EvolutionGraphicData&gt; 属性

标签: c# jquery asp.net-mvc-4


【解决方案1】:

您是否正在寻找一种将字典作为 JSON 传递给 JavaScript 的方法?

一种方法是将这样的元素写入您的页面:

<script id="myData" type="application/json">
{yourJson}
</script>

然后

var dataForGrap = JSON.parse(document.getElementById('myData').textContext);

如果你尝试这样做:

var dataForGrap = '@Html.Raw(ViewBag.DataList);'

然后 JSON 中的单引号将破坏脚本。 (从痛苦的经历中学到的。)

要将 JSON 写入您的视图,您可以这样做(使用 Newtonsoft Json.NET)

<script id="myData" type="application/json">
@Html.Raw(JsonConvert.SerializeObject(ViewBag.DataList))
</script>

或者如果您的对象已经序列化:

<script id="myData" type="application/json">
@Html.Raw(yourAlreadySerializedJson)
</script>

【讨论】:

  • 我已经对其进行了序列化,并且可以从中检索日期。我的问题是我无法从字典中的列表中获取数据。我不断收到 [object,Object]:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
相关资源
最近更新 更多