2012-08-02 3 views
0

나는 mvc 응용 프로그램 관련 영화를 개발 중입니다. 영화의 이름을 검색하려고합니다.ObjectSet을 ASP.NET MVC 목록보기에 바인딩 할 수없는 이유는 무엇입니까?

그 오류를 제공 : 사전에 전달

모델 항목 유형 하다 '는 1[MvcMovie.Movie]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable 1 MvcMovie.Models.Movie] System.Data.Objects.ObjectSet'있다.

아래는 영화 컨트롤러의 searchIndex 메소드 코드입니다.

public ActionResult SearchIndex(string searchString) 
    { 
     var movies = from m in db.Movies select m; 

     if (!string.IsNullOrEmpty(searchString)) 
     { 
      movies = movies.Where(s => s.Title.Contains(searchString)); 

     } 

     return View(db.Movies); 
    } 

그리고보기 페이지의 코드를 아래

@model IEnumerable<MvcMovie.Models.Movie> 

@{ 
ViewBag.Title = "SearchIndex"; 

}

당신은 같은 목록으로 .. 열거 가능한 타입으로 결과를 변환 할 필요가
+0

@model IEnumerable<MvcMovie.Models.Movie> 

사람 와우, 수용 률 0 %. 이것은 나쁘다. 그러나 나는 대답을하지 않을 것이다. 공동 작업은 단어입니다.) – devundef

+1

FYI @devundef는 많은 질문을했지만 답변을 얻었을 때 정답을 인정하지 않았 음을 의미합니다. 어떤 사람들은 이것을 알아 차릴 때 당신을 도우 려하지 않습니다. 참조 : http://stackoverflow.com/faq#howtoask. 당신이 좋은 대답을 얻을 때 의견을 말하기는 좋지만 녹색의 "수락"확인란을 클릭하면 사람들이 정말로 좋아할 것입니다. –

+0

예, 질문의 저자가 자신의 문제를 해결했는지 여부를 알지 못했거나 심지어 그가 답변을 읽은 경우에도. @ JimCounts comment의 링크를 따라 답을 받아들이는 것이 왜 중요한지 알아보십시오. – devundef

답변

0

:

return View(db.Movies.ToList()); 
+0

지침에 따라 코드가 변경되었지만 동일한 오류가 다시 발생합니다 ... – nilesh1foru

0

오류는 Movie 엔터티의 네임 스페이스가 MvcMovie이 아닌임을 나타냅니다.

System.Data.Objects.ObjectSet1[**MvcMovie.Movie**] 

변경이

@model IEnumerable<MvcMovie.Movie> 
관련 문제