我有一个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; }
}
感谢您抽出宝贵的时间-我找到了解决方案。
我将上面RankingListForDisplay的实现更改为下面的实现。出于某种原因,json更喜欢它;-)
public class RankingListForDisplay
{
public List<RankingListLine> Lines { get; set; }
public string Period { get; set; }
public RankingListForDisplay()
{
Lines = new List<RankingListLine>();
Period = "<Unspecified>";
}
}