c # -> javascript, Json декодирование пропускает свойство - PullRequest
1 голос
/ 20 апреля 2010

У меня есть объект c # (ниже), который я пытаюсь отправить в свой javascript.

Моя проблема в том, что, хотя я могу перебирать элементы в списке, я не могу получить свойство строки ('Period').

При ссылке на объект в JS свойства вообще не отображаются. После Json-кодирования в c # я все еще могу видеть свойство непосредственно перед возвратом его вызывающей стороне (наведение на переменную результата в функции ниже):

    [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 голосов
/ 28 апреля 2010

Спасибо, что нашли время - я нашел решение.

Я изменил вышеупомянутую реализацию RankingListForDisplay на приведенную ниже. По какой-то причине json это нравится больше; -)

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

    public RankingListForDisplay()
    {
        Lines = new List<RankingListLine>();
        Period = "<Unspecified>";
    }
}
...