为订单生成多级客户收据

时间:2012-10-19 11:26:03

标签: html asp.net-mvc

我的目标是生成客户收据的视图,他们将在提交订单后获得该视图。收据应包含他们订购的所有食品。每个食品可以包含多个子项。

模型正在返回如下数据;

enter image description here

如果你仔细看,那些拥有parentitemid的人就是子项。它们应该显示在其父项下。

目标应如下所示;

enter image description here

现在的问题是我尝试了很多东西(即if-else在foreach等等) 但没有得到这个观点。

是否可以从这种数据中生成这样的视图? 任何人都可以帮我解决一些想法!

修改

我有一些进展......现在看起来如何...... enter image description here

现在,我如何在主要项目下显示子项目的价格...... ??

这是我的代码

<%foreach (var i in Model.OrderItems)
      { %>
      <tr>
        <td style="vertical-align:top;">1</td>
        <td style="width:40%;"><%:i.fiitemName%>
        <br />
        <table style="margin-left:10px;">
            <%foreach (var k in Model.getOrderSubItems("36-171012-2", i.fiID))
              { %>

                    <tr style="height:30px;">
                        <td style="width:100px;"><%:k.FoodItemName %></td>
                        <td style="width:100px;"><%:k.SubItemPrice %></td>
                    </tr>
           <%} %>
           </table>
        </td>
        <td style="vertical-align:top;"><%:i.msize%></td>
        <td style="vertical-align:top;"><%:i.ItemNote %></td>
        <td style="vertical-align:top;"><%:i.mprice%></td>

      </tr>

    <%} %>

1 个答案:

答案 0 :(得分:0)

你的模特看起来如何?一个简单的模型示例:

public class Order
{
    public int Id { get; set; }
    public List<Item> Items { get; set; }

    public class Item
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Qty { get; set; }
        public decimal Price { get; set; }
        public List<Item> SubItems { get; set; }
    }
}

然后显示您可以遍历订单上的所有项目,然后在该项目中循环任何子项目。

foreach (var item in Order.Items)
        {
            foreach (var subItems in item.SubItems)
            {
            }
        }