c#-> JavaScript,Json解码未命中属性

问题描述 投票:1回答:1

我有一个C#对象(下面),我正尝试发送到我的JavaScript。

我的问题是,尽管我可以遍历列表中的项目,但无法使用字符串属性('Period')。

引用JS中的对象完全没有显示任何属性。在用C#进行Json编码之后,我仍然可以在将属性返回给调用者之前看到它(将鼠标悬停在下面的函数中的结果变量上):

[OutputCache(Duration = 0, VaryByParam = "None")]
public JsonResult GetRankingList() {
 Response.ContentType = "text/javascript";
 var user = _userService.GetUserByPrincipal(User);

 // Note, we do this while the user waits as we need to make progress in repeated calls to get the compared ranking list.
 _businessLogicServiceMaintenance.PerformMaintenanceSteps();

 //TODO: Replace with userid (Guid)
 var rankingList = _presenterService.GetRankingListForDisplay(user);

 if (rankingList == null)
  return Json("");

 var result = Json(rankingList);
 return result;
}

我到底该如何克服?任何评论表示赞赏!

您,安德斯,丹麦,

public class RankingListForDisplay : List<RankingListLine>
{
    public string Period { get; set; }
}
c# json encoding decoding
1个回答
0
投票

感谢您抽出宝贵的时间-我找到了解决方案。

我将上面RankingListForDisplay的实现更改为下面的实现。出于某种原因,json更喜欢它;-)

public class RankingListForDisplay 
{
    public List<RankingListLine> Lines { get; set; }
    public string Period { get; set; }

    public RankingListForDisplay()
    {
        Lines = new List<RankingListLine>();
        Period = "<Unspecified>";
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.