错误:foreach语句无法对IENumerable类型的变量进行操作

109*_*793 1 asp.net-mvc ienumerable

我正在关注Apress Pro Mvc 2框架手册中的sportsStore教程。

自接触.net以来已经有一段时间了,我是Mvc的新手,我跌倒了第一个绊脚石!

我有以下错误:

foreach语句不能对类型为“ IENumerable”的变量进行操作,因为“ IENumerable”不包含“ GetEnumerator”的公共定义

这是视图的代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IENumerable<SportsStore.Domain1.Entities.Product>>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Products
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>Products</h2>

    <% foreach (var product in Model)
       { %>
    <div class="item">
        <h3><%: product.Name%></h3>
        <%: product.Description%>
        <h4><%: product.Price.ToString("c")%></h4>
    </div>
    <% } %>

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

这是控制器的代码段:

公共ViewResult List(){返回View(productsRepository.Products.ToList()); }

这是产品类别:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SportsStore.Domain1.Entities
{
    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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我敢肯定这可能是一个简单的解决方案,但是我对本书的了解是如此之微,以至于我这么早就犯了一个错误!

如果有人可以帮助我,我将非常感激。

SLa*_*aks 5

更改IENumerableIEnumerable