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

时间:2010-10-29 14:21:37

标签: 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>

以下是控制器的片段:

public ViewResult List()     {         return 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; }
    }
}

我确信这可能是一个简单的解决方案,但我跟着这本书完全如此轻微的愤怒,以至于我早就犯了错误!

如果有人能帮助我,我会非常感激。

3 个答案:

答案 0 :(得分:5)

IENumerable更改为IEnumerable

答案 1 :(得分:3)

尝试IEnumerable而非IENumerable

答案 2 :(得分:2)

我认为你有一个错字。使用IEnumerable。