2011-02-12 5 views
0

"Subsonic 5 Minute Demo"를보고 초기 문제가 발생한 후 데이터베이스에서 데이터 개체를 생성했습니다. 비주얼 웹 개발자 익스프레스 2010을 사용하고 있는데, 데모에서와 마찬가지로 ASP.NET MVC 2 웹 응용 프로그램입니다.아음속 5 분 데모 초보자 문제

그래서, 난 내 HomeController에서이 코드를 작성했습니다 :

내보기 다음과 같습니다
public ActionResult Index() 
{ 
    ViewData["Message"] = "Welcome to Food Recipe Web!"; 

    //lets get some data 
    var db = new FoodRecipeWeb.Data.FoodRecipeWebDB(); 
    var recipes = from r in db.Recipes 
        select r; 

    return View(recipes); 
} 

:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
    Home Page 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2><%: ViewData["Message"] %></h2> 
    <ul> 
    <%foreach (var recipe in Model) 
     { %> 

     <li><%= recipe.Name %></li> 

    <% } %> 
    </ul> 
</asp:Content> 

내가보고 할 때이 꽤 데모 비슷하지만 페이지, 나는이 메시지를 받는다 :

Compiler Error Message: CS1579: foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator' 

Source Error: 
Line 6:  <h2><%: ViewData["Message"] %></h2> 
Line 7:  <ul> 
Line 8:  <%foreach (var recipe in Model) 
Line 9:  { %> 
Line 10: 

내가 무엇을 잘못하고 있냐?

답변

2

보기가 모델에 대해 알아야합니다.

Inherits="System.Web.Mvc.ViewPage" 

Inherits="System.Web.Mvc.ViewPage<IEnumerable<Recipe>>" 
+0

감사합니다 :에서

변경을! 그게 내 문제를 해결! :) –

+1

이 답변으로 문제가 해결되면 승인 된 것으로 표시하십시오. –