2012-06-08 6 views
1

감사합니다. 내가 헤더 호출 할 @RenderPage를 사용 _Layout.cshtml 페이지에서 'System.Web.WebPages.Html.HtmlHelper'에 '작업'에 대한 정의가 없습니다.

는 :

<div id="Header"> Home </div> 

하는 기본 동작 ("인덱스에 그것을 클릭하고 싶으세요 :

@RenderPage("/Shared/_header.cshtml") 

그것은이있다 ")

나는이 시도 :

<div id="Header"> @Html.Action("Index", "MyController") </div> 
을 0

'액션'는이 오류와 함께 빨간색으로 밑줄 :

'System.Web.WebPages.Html.HtmlHelper' does not contain a defintion for 'Action' and no extension ...... 

"System.Web.Mvc"이 설정 파일뿐만 아니라 프로젝트에서 참조 :

<add namespace="System.Web.Mvc" /> 

어떤 아이디어 ?

답변

9

Views/Web.config/Shared으로 복사해야합니다.

This will tell Razor to use the MVC base type & parser

+0

감사에서 Web.config의 에서이 키 값을 변경한다 할 필요가 모든에 mvc4에서 이동했습니다; _header 및 footer를/view/shared로 이동할 수 있음을 알고 있습니다. 괜찮습니까? 안녕하세요, 블로그에 감사드립니다. – scv

+0

예; 그게 더 좋을거야. 일반적으로 헤더는 별도의 파일이 아니라 레이아웃에 직접 배치해야합니다. – SLaks

+0

또한 'RenderPage()'(웹 페이지 버전)가 아닌'Html.Partial' (MVC 버전)을 호출하십시오. – SLaks

0

내가 mvc5
내가 2

<add key="webpages:Version" value="3.0.0.0" /> 
관련 문제