I am trying to make Foreach work for the html razor below. At the end of the day, I want ShoppingCart to be a list of CartLines. I want to get rid of the [0] statement, and make it variable. Any solution or optimal method would help. Feel free to edit the class also.
class ShoppingCart
{
public IList<CartLine> Items { get; } = new List<CartLine>();
public ShoppingCart() {}
}
public class CartLine
{
public int CartLineId { get; set; }
public Product Product { get; set; }
public int Quantity { get; set; }
}
@model IEnumerable<ShoppingCart>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Items[0].Product)
</td>
so you are going to need a nested foreach:
Iterate over your list elements, not your class: