2011-08-11 3 views
8

전체 면도기 뷰를 사용하여 시작하려는 MVC3 웹 앱이 있습니다.파일이 _ViewStart.cshtml이라면 면도기 레이아웃이 작동하지 않습니다

대부분의 사이트가 Site.Master와 잘 작동하므로 부분 뷰에 대부분 패키지로 포장되어 동일한 콘텐츠가 포함 된 레이아웃을 추가하려고합니다.

Scott Gu의 블로그를 읽은 후 _ ~/Views 디렉토리에 _ViewStart.cshtml이라는 파일을 추가하여 기본적으로 적용됩니다.

The name 'RenderBody' does not exist in the current context

파일이 _viewstart.cshtml을 호출하는 경우 :

불행하게도이 나에게 오류를 제공합니다.

_layoutviewstart.cshtml이라면 제대로 작동하지만보기에서 직접 참조해야합니다.

_billyviewstart.cshtml이라면 작동하지만 다시보기에서 직접 참조해야합니다.

+0

Site.Master를 시작? 기존 사이트를 변환하려고합니까? 아마도 구성 변경이 필요하지 않을 수도 있습니다. – Tridus

+0

안녕하세요, 우리는 정의 된 기본 레이아웃을보기 시작을 사용하여 정의 된 기본 레이아웃은 공유 폴더에 머물 것입니다. 물론 @RenderBody()가 있어야합니다. –

답변

11

보기

@{ 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

Layout.cshtml

<!DOCTYPE html> 
<html> 
<body> 
    @RenderBody() 
</body> 
</html> 
+1

나는 바보 야, 고마워! 나는 내게 허락하자마자 받아 들일거야! – Stu

+1

아니요! 그렇지 않은지 확인하십시오. :) ASP.NET 마스터 페이지 다음에 MVC3을 시작할 때 우리는 항상 renderbody를 궁금해합니다. –

+0

링크에 _Layout.cshtml이 있으므로 Layout.cshtml에서 _Layout.cshtml –

관련 문제