2010-04-21 3 views
0

내 ORM과 함께 하나의 라이브러리가 있고 MVC 응용 프로그램을 사용하고 있습니다. 보기가 모델의 속성 (하위 수준 기본 클래스에서 상속)을 볼 수 없기 때문에 페이지가 컴파일되지 않는 문제가 있습니다. 그들은 시스템은 누락 볼 수 있습니다MVC 모델보기 Intellisense/컴파일 오류

가 '객체' 'ID'입력 '개체'의 첫 번째 인수를 받아들이는없는 확장 메서드 'ID' 에 대한 정의를 포함하지 않는 것을 말하는 컴파일 오류 (발생 a 지시어 또는 어셈블리 참조를 사용하는 경우)

뷰에 모델이 표시되지 않는다는 것을 의미합니다. 컨트롤러에서 모델에 대한 전체 액세스 권한을 가지며 올바른 형식이 전달되는지 확인하기 위해 뷰의 상속 부분을 선택합니다.

컨트롤러 :

return View(new TeraViral_Blog()); 

보기 :은 "네임 스페이스"에 대한 뷰 폴더 모양의 당신의 Web.config에서

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<com.models.TeraViral_Blog>" %> 

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

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

    <h2>Index2</h2> 

    <fieldset> 
     <legend>Fields</legend> 
     <p> 
      ID: 
      <%= Html.Encode(Model.ID) %> 
     </p> 
    </fieldset> 

</asp:Content> 
+0

항목을 캐스팅하는 것이 좋습니다. 그것은 올바른 유형입니다. 나는 캐스트가 시야를 부 풀리지 않도록하고 싶다. ((com.models.TeraViral_Blog) Model) .ID –

+0

모델이 공개로 선언 되었습니까? 나는 그들이 내부에 있고보기가 다른 네임 스페이스에서 작동하는 시나리오를 상상하고 있습니까? – Peter

답변

1

봐 노드와이 모델의 네임 스페이스를 추가합니다 :

<namespaces> 
    <add namespace="com.models"/> 
</namespaces>