我正试图弄清楚如何使用knockout foreach data-bind迭代.Net分组。我遇到的问题是,一旦将IGroupings序列化为JSON,我就不知道如何迭代.Net的.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
对StartDate
个实体进行分组。然后我使用JSON返回BookingResult
实体。为Grouped
属性生成的JSON看起来像这样(我已经折叠并展开了节点,以便更好地概述生成的内容):
我想在我的客户端上做的是创建一个模板并绑定到knockout 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>
我知道上面的错误,因为一个 - 分组中不存在密钥。
有谁知道如何创建模板以正确输出列表中的分组的键和值? BTW我也在这里使用jquery mobile(因此数据角色的东西)
谢谢!
詹姆斯