我有一个对象:
public class RoomViewModel
{
public int ID { get; set; }
public string Name{ get; set; }
[JsonProperty(PropertyName = "data-space")]
public string RoomNumber{ get; set; }
[JsonProperty(PropertyName = "data-category")]
public int DepartmentType { get; set; }
[JsonProperty(PropertyName = "data-level")]
public int Floor{ get; set; }
}
但是当我在View中绑定它时,使用foreach循环:
@model List<MyProject.ViewModels.RoomViewModel>
<ul class="list grouped-by-category">
@if (Model.Any())
{
foreach (var room in Model)
{
<li class="list__item" data-level="@room.Floor" data-category="@room.DepartmentType" data-space="@room.RoomNumber">@room.Name</li>
}
}
</ul>
它返回一个房间列表及其部门&amp;楼层,但是当我有2层时,它是重复的:picture
<ul class="list grouped-by-category">
<li class="list__item" data-level="1" data-category="1" data-space="1.01"> Room 1</li>
<li class="list__item" data-level="1" data-category="1" data-space="1.02"> Room 2</li>
<li class="list__item" data-level="1" data-category="2" data-space="2.03"> Room 3</li>
<li class="list__item" data-level="1" data-category="2" data-space="1.08"> Room 8</li>
<li class="list__item" data-level="2" data-category="1" data-space="1.04"> Room 4</li>
<li class="list__item" data-level="2" data-category="1" data-space="2.05"> Room 5</li>
<li class="list__item" data-level="2" data-category="2" data-space="1.06"> Room 6</li>
<li class="list__item" data-level="2" data-category="2" data-space="2.07"> Room 7</li>
</ul>
但我只需要:
<ul class="list grouped-by-category">
<li class="list__item" data-level="1" data-category="1" data-space="1.01"> Room 1</li>
<li class="list__item" data-level="1" data-category="1" data-space="1.02"> Room 2</li>
<li class="list__item" data-level="2" data-category="1" data-space="1.04"> Room 4</li>
<li class="list__item" data-level="2" data-category="1" data-space="2.06"> Room 6</li>
<li class="list__item" data-level="1" data-category="2" data-space="2.03"> Room 3</li>
<li class="list__item" data-level="1" data-category="2" data-space="1.05"> Room 5</li>
<li class="list__item" data-level="2" data-category="2" data-space="1.07"> Room 7</li>
<li class="list__item" data-level="2" data-category="2" data-space="2.08"> Room 8</li>
</ul>
使用相同的DepartmentType&amp;不同楼层。我已经搜索了如何使用DepartmentType grouped list但不知道如何在foreach循环中使用它。请帮助我。这picture显示我被困在哪里。我希望“PhòngKhám”和“Quầythủtục”有4个房间(单独),而不是重复。
答案 0 :(得分:0)
您可以按部门类型订购线路:
foreach (var room in Model.OrderBy(c=>c.DepartmentType))
{
<li class="list__item" data-level="@room.Floor" data-category="@room.DepartmentType" data-space="@room.RoomNumber">@room.Name</li>
}