萌新在写《精通asp.net mvc5》上的代码的问题

1.问题

传入字典的模型项的类型为“SportsStore.WebUI.Models.ProductsListViewModel”,但此字典需要类型“System.Collections.Generic.IEnumerable`1[SportsStore.Domain.Entities.Product]”的模型项。

2.代码

ProductController.cs

  public ViewResult List(int page=1)
        {
            ProductsListViewModel model = new ProductsListViewModel
            {
                Products = repository.Products
                                .OrderBy(p => p.ProductID)
                                .Skip((page - 1) * PageSize)
                                .Take(PageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage = page,
                    ItemsPerPage = PageSize,
                    TotalItems = repository.Products.Count()
                }
            };
            return View(model);
        }

ProductsListViewModel.cs

 public class ProductsListViewModel
    {
        public IEnumerable<Product> Products { get; set; }
        public PagingInfo PagingInfo { get; set; }
    }

Product.cs

 public class Product
    {
        public int ProductID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public decimal Price { get; set; }
        public string Category { get; set;  }
    }

List.cshtml

@model SportsStore.WebUI.Models.ProductsListViewModel
@{
    ViewBag.Title = "Products";
}

@foreach (var p in Model.Products)
{
    <div>
        <h3>@p.Name</h3>
        @p.Description
        <h4>@p.Price.ToString("c")</h4>
    </div>
}
<div>
    @Html.PageLinks(Model.PagingInfo,x=>Url.Action("List",new { Page = x }))
</div>


如果大佬们还需要其他代码的话我会补充的

Products = repository.Products
.OrderBy(p => p.ProductID)
.Skip((page - 1) * PageSize)
.Take(PageSize).AsEnumerable(),

注意除了List.cshtm以外的——layout.html是否也是@model SportsStore.WebUI.Models.ProductsListViewModel

img