Affichage de la liste de modèle ASP.Net MVC vue

Voici mon modèle:

public class ViewInvoice
{
    public string ClientLocation { get; set; }
    public List<DetailsGroup> Details { get; set; }

    public class DetailsGroup
    {
        public List<string> Product { get; set; }
        public List<string> ProductSize { get; set; }
        public List<string> PackageType { get; set; }
        public List<DateTime> OrderDate { get; set; }
        public List<DateTime> DeliveryDate { get; set; }
        public List<int> OrderNumber { get; set; }
        public List<decimal> Price { get; set; }
        public List<int> ItemQuantity { get; set; }
    }
}

J'essaie d'afficher ce modèle dans un tableau à l'intérieur de mon rasoir vue. Ici, c'est que code:

@using MyModel.MyTools.Orders.SumOrder
@model SumOrder

@{
    ViewBag.Title = "View Invoice";
}

<h2>View Invoice</h2>

<table>
    @foreach(var prod in Model.OCI)
    {
        <tr>
            <td>
                @prod.ClientLocation
            </td>
        </tr>
         foreach (var orderItem in prod.Details)
        {
            <tr>
                <td>
                    @orderItem.Product
                </td>
                <td>
                    @orderItem.ItemQuantity
                </td>
            </tr>
        }
    }
</table>

La première ligne dans le tableau affiche correctement, ce qui est le nom d'une ville, mais dans la rangée suivante, je reçois ceci:

Système.Les Collections.Génériques.Liste1[System.String] System.Collections.Generic.List1[Système.Int32]

Quelqu'un peut m'expliquer pourquoi je ne peux pas obtenir la liste renvoyée dans un format lisible, et comment corriger ce problème?

Voici le code que j'ai utilisé pour un groupe de la liste pour le ViewInvoice modèle:

//group the cartItems according to location
        List<ViewInvoice> ordersGrouped = cartItems.GroupBy(c => new 
            {c.ClientLocation})
            .OrderBy(c => c.Key.ClientLocation).Select(s =>
                new ViewInvoice()
                    {
                        ClientLocation = s.Key.ClientLocation,
                        Details = new List<ViewInvoice.DetailsGroup>()
                            {
                                new ViewInvoice.DetailsGroup()
                                    {
                                        Product = s.Select(p => p.Product).ToList(),
                                        ItemQuantity = s.Select(p => p.ItemQuantity).ToList(),
                                        DeliveryDate = s.Select(p => p.DeliveryDate).ToList(),
                                        OrderDate = s.Select(p => p.OrderDate).ToList(),
                                        OrderNumber = s.Select(p => p.OrderNumber).ToList(),
                                        PackageType = s.Select(p => p.PackageType).ToList(),
                                        Price = s.Select(p => p.Price).ToList(),
                                        ProductSize = s.Select(p => p.ProductSize).ToList()
                                    }

                            }

                    }).ToList();
  • votre question n'est pas claire. Pouvez-vous nous montrer le contrôleur? Étant donné que Modèle.BEC est une liste de ViewInvoice, cela devrait fonctionner correctement. Merci de nous montrer le message d'erreur.
InformationsquelleAutor user1206480 | 2012-10-15