c# - > javascript,Json解码错过了属性

时间:2010-04-20 14:36:10

标签: c# json encoding decoding

我有一个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; }
}

1 个答案:

答案 0 :(得分: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>";
    }
}