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