我正在关注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; }
}
}
我确信这可能是一个简单的解决方案,但我跟着这本书完全如此轻微的愤怒,以至于我早就犯了错误!
如果有人能帮助我,我会非常感激。
答案 0 :(得分:5)
将IENumerable
更改为IEnumerable
。
答案 1 :(得分:3)
尝试IEnumerable
而非IENumerable
。
答案 2 :(得分:2)
我认为你有一个错字。使用IEnumerable。