在我们的 MVC4 应用程序中,我的数据库有一个 Orders 表、一个 Products 表和一个 Category 表。每个订单在外键关系中都有一个产品(加上数量),并且该产品属于具有外键的类别。
所以 Order 有一个 OrderId、ProductId(FK 到 Product)、一个数据加上一个数量,而 Product 有一个 ProductId、Name 和一个 CategoryId(FK 到 Category),Category 有一个 CategoryId 和一个 Name。
现在我们制作了一个“购物清单”,其中显示了白天订购的类别,并在类别名称下方显示了产品。
为了只显示该日期的产品,我们使用下面的 foreach 循环:
@model Tuple<List<myproject.Models.Order>, List<myproject.Models.Order>>
@foreach (var item1 in Model.Item1)
{
if (item1.Date.ToString("d").Equals(DateTime.UtcNow.Date.ToString("d")))
{
<tr>
<td>
<h3>@Html.DisplayFor(catName => item1.Product.Category.Name)</h3>
</td>
</tr>
}
foreach (var item2 in Model.Item2)
{
if (item2.Product.Category.Name.Equals(item1.Product.Category.Name) &&
item2.Date.ToString("d").Equals(DateTime.UtcNow.Date.ToString("d")))
{
<tr>
<td>
@Html.DisplayFor(productName => item2.Product.Name)
 (x @Html.DisplayFor(quantity => item2.Quantity))
</td>
</tr>
}
}
}
要显示类别和类别中的产品,它会错过列表中类别的名字。输出是:
Apple (x 1)
Banana (x 1)
Snacks
Fries (x 3)
Hamburger(x 1)
Veggies
Tomato (x 1)
代替
Fruit
Apple (x 1)
Banana (x 1)
Snacks
Fries (x 3)
Hamburger(x 1)
Veggies
Tomato (x 1)
在过去的一个小时里,我一直在为此烦恼。有人可以解释为什么它不显示“水果”的条目吗?