2017-03-01 1 views
0

일반적인보기 폴더가 아닌 사용자 지정 위치에서보기를 반환하도록 컨트롤러를 구성했습니다. 이asp mvc 사용자 지정보기 위치

var razorEngine = ViewEngines.Engines.OfType<RazorViewEngine>().First(); 
     razorEngine.ViewLocationFormats = razorEngine.ViewLocationFormats.Concat(new string[] 
     { 
      "~/UI/app/{1}/Views/{0}.cshtml" 
     }).ToArray(); 

그것은 잘 작동하지만 난이 cshtml 페이지로 CSS, 이미지, JS 파일을 연결 문제를 직면하고 Global.asax에 다음 코드를 추가하여 달성되었다. 페이지를로드 할 때 해당 파일이 404 찾을 수없는 것처럼 보이고 콘솔에서 "리소스를로드하지 못했습니다 : 서버가 상태 404 (찾을 수 없음)"로 응답합니다.

콘텐츠가 누락되었거나 콘텐츠 파일의 경로를 찾을 수없는 이유가 확실하지 않습니다. 콘텐츠 파일을 참조하는 방법은 다음과 같습니다. ~/경로 위치

+0

CSS와 JS 파일을 도움이되기를 바랍니다 번들 및 최적화 메커니즘 사용 -'스타일/Scripts' 렌더링을 포함하는 레이아웃보기를 확인합니다. 'Application_Start' 메소드와'BundleConfig' 코드를 포함시켜 명확한 문제를 찾아냅니다. –

+0

콘텐츠 파일의 실제 경로는 무엇입니까? – garethb

+0

콘텐츠에 대한 @garethb 경로는 ~/UI/app/Home/JS이며보기는 집 /보기에서 바로 실행됩니다. –

답변

0

웹 구성을 사용자 지정 디렉터리에 추가하고 BlockViewHandler 경로를 "* .cshtml"로 설정하여 문제를 해결했습니다. 예 :

<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 

으로

<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 

에서는 다른 사람 :

관련 문제