2011-07-06 8 views
0

RenderPartial call @ Html.RenderPartial ("SomePage.cshtml")을 통해 웹 응용 프로그램이 아닌 웹 사이트 전체에 재사용 가능한 코드를 포함하려고합니다. ASP에서는 #include virtual = "somefile.asp"를 사용할 수있었습니다. 그러나 다음과 같은 오류 메시지가 나타납니다.MVC Razor RenderPartial 호출이 웹 사이트에서 작동하지 않습니다.

컴파일러 오류 메시지 : CS1061 : 'System.Web.WebPages.Html.HtmlHelper' 확장자 방법을 'RenderPartial' 에 대한 정의를 포함하지하지 않고 'RenderPartial'유형 의 첫 번째 인수를 받아들이는 'System.Web.WebPages.Html.HtmlHelper' 를 볼 수 있습니다 (당신이 지시문 또는 어셈블리 참조를 사용하여 누락?)

내 web.config 파일에있는 모든 적절한 참조를 포함합니다.

<compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
      <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </assemblies> 
    </compilation>  
    <pages> 
     <namespaces> 
      <add namespace="System.Web.Mvc"/> 
      <add namespace="System.Web.Mvc.Html"/> 
      <add namespace="System.Web.Routing"/> 
      <add namespace="System.Collections.Generic"/> 
     </namespaces> 
    </pages> 

RenderPartial은 "웹 사이트"가 아닌 "웹 응용 프로그램"에서만 사용할 수 있습니까?
사이트 전체에서 코드를 재사용 할 수있는 더 좋은 방법이 있습니까?
@RenderSection은 내가 사용하는 레이아웃이 같은 위치의 코드를 다시 사용하지 않기 때문에 제 상황에서는 작동하지 않습니다.

+0

'Web.config'는'Views' 디렉토리에 있습니까? – Buildstarted

+0

MVC는 공식적으로 웹 응용 프로그램 프로젝트 모델 만 지원합니다. – marcind

답변

0

네임 스페이스 섹션 아래에 <add namespace="System.Web.WebPages"/>을 추가 했습니까?

3

@RenderPage ("SomePage.html")를 사용하여 원하는 것을 얻을 수있었습니다. 오직 대답을 찾기 위해 이틀이 걸렸습니다 :)

관련 문제