2013-02-17 5 views
16

오류가 발생했습니다 : "~/Views/Home/_Layout"경로에서 "_Layout"레이아웃 페이지를 찾을 수 없습니다. 레이아웃 페이지를 찾을 수 없습니다.

그러나 레이아웃 페이지가이 경로에 있습니다 :이 문제에 대해 할 수있는 일 "~/조회/공유/_Layout"

?

난 그냥 프로젝트를 시작하며 다음과 같이 :

컨트롤러 :

namespace Testing.Controllers 
{ 
    public class HomeController : Controller 
    { 
     // 
     // GET: /Home/ 

     public ActionResult Index() 
     { 
      return View(); 
     } 
    } 
} 

인덱스보기 :

@model dynamic 

@{ 
    ViewBag.Title = "title"; 
    Layout = "_Layout"; 
} 

<h2>title</h2> 

_ViewStart.cshtml :

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

솔루션 설명 ORER :

Solution Explorer:

+0

** "~/Views/Home/_Layout"** 이것은 나타냅니다. 이 오류를 제기하는보기에서 @ layout = "~/Views/Home/_Layout"과 같은 종류의 문장이 있습니까? –

+0

아니요, 다음과 같습니다 : @ { ViewBag.Title = "title"; Layout = "_Layout"; } – anleon

+0

이 도움이됩니다. @DarinDimitrov가 지적한대로 경로를 설정하면 문제가 해결됩니다. –

답변

21

가 있는지 확인하여 ~/Views/_ViewStart.cshtml 파일에 올바른 경로를 설정했는지 :

귀하의 의견에 당신이 올바른 경로가 점은 지정된가 있는지 확인 레이아웃을 무시하는 경우도
@{ 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

이 레이아웃. 그리고 거기에 레이아웃 (예 : 사용자 지정 작업 필터 또는 레이아웃을 지정할 수있는 ViewResult 과부하)을 설정하는 일부 서버 측 코드가있을 수 있습니다.


UPDATE :이 같은 레이아웃을 설정하는 것

:

당신은 절대 경로로 레이아웃에 위치를 지정해야
@{ 
    ViewBag.Title = "title"; 
    Layout = "_Layout"; 
} 

:

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

하지만 더 나은 방법은 Index보기에서이 레이아웃 설정을 제거하는 것입니다.

@{ 
    ViewBag.Title = "title"; 
} 

이제 _ViewStart.cshtml의 값이 사용됩니다.

+0

네, 저도 이걸 가지고 있습니다 – anleon

+0

제 대답에 다른 이유를 나열했습니다. 모두 확인 했니? –

+0

아니야, 방금 프로젝트를 시작 했어. – anleon

관련 문제