0

我试图弄清楚如何使用淘汰赛 foreach 数据绑定遍历 .Net 分组。我遇到的问题是,一旦将 IGroupings 序列化为 JSON,我不知道如何迭代 .Net 集合......

在服务器端,我有一个如下所示的 .Net 对象:

public class BookingResult
{
    public IEnumerable<IGrouping<DateTime, BookingLeg>> Grouped { get; set; }
} 

public class BookingLeg
{
    public string DepartureDate { get; set; }
    public string ArrivalDate { get; set; }
    public string Name { get; set; }

    public DateTime StartDate { get; set; }
}

我正在通过将实体Grouped集合BookingLeg按其分组来创建属性StartDateBookingResult然后我使用 JSON返回实体。为该Grouped属性生成的 JSON 如下所示(我已折叠并展开节点,以便您更好地了解生成的内容):

在此处输入图像描述

我想在我的客户端上做的是创建一个模板并绑定到敲除 foreach 绑定,将键作为列表标题输出,然后对于该键中的每个值,从该值中输出一些详细信息。它看起来像这样:

01/01/2012
  - Transfer
  - Flight
  - Transfer
03/01/2012
  - Transfer
  - Cruise

...

我试图这样做:

<ul data-role="listview" data-bind="foreach: Grouped">
    <li data-role="list-divider"><span data-bind="text: Key"></span></li>
    <li data-bind="text: Name, click: $parent.getBookingLegDetail"></li>
</ul>

我知道以上是错误的,因为一个 - 分组中不存在密钥。

有谁知道如何创建模板以正确输出列表中分组的键和值? 顺便说一句,我在这里也使用 jquery mobile(因此是数据角色的东西)。

谢谢!

詹姆士

4

1 回答 1

1

JavaScriptSerializer 不处理 IGrouping 对象中的 Key 属性。有关类似问题和可能的解决方案,请参阅此问题。

于 2012-04-16T16:04:01.410 回答