2009-04-27 2 views
0

하나의 중앙 집합보기가있는 여러 사이트를 갖기 위해 내보기가있는 외부 라이브러리를 만들었습니다. 그들은 내용으로 표시되고 항상 복사됩니다.
이 뷰 라이브러리는 내 웹 사이트에서 참조되므로 컴파일시 bin 폴더에 "Views"폴더가 생성됩니다.bin 폴더에서보기로드?

The view 'Index' or its master could not be found. The following locations were searched: 
~/Views/Home/Index.aspx 
~/Views/Home/Index.ascx 
~/Views/Shared/Index.aspx 
~/Views/Shared/Index.ascx 
~/bin/Views/Home/Index.aspx 
~/bin/Views/Home/Index.ascx 
~/bin/Views/Shared/Index.aspx 
~/bin/Views/Shared/Index.ascx 

잘못 무슨 일이야 :이 화면을 얻을

public class CommonViewLocator: WebFormViewEngine 
{ 
    public CommonViewLocator() 
    { 
     MasterLocationFormats = new[] { 
      "~/bin/Views/{1}/{0}.master", 
      "~/bin/Views/Shared/{0}.master" 
     }; 
     ViewLocationFormats = new[] { 
      "~/bin/Views/{1}/{0}.aspx", 
      "~/bin/Views/{1}/{0}.ascx", 
      "~/bin/Views/Shared/{0}.aspx", 
      "~/bin/Views/Shared/{0}.ascx" 
     }; 
     PartialViewLocationFormats = ViewLocationFormats; 
    } 
} 

실행 한 후 :
그 다음이 같은 빠른 사용자 정의 ViewEngine을했다?
또한 bin 폴더에보기가 있다는 것이 이상하게 느껴지고 다른 제안은 환영합니다.

답변

0

올바른 폴더에 내용이 있는지 확실한 보안상의 이유 때문에 내용이 bin 디렉토리에서 제공되지 않는 서버 일 가능성이 큽니다.

그렇다면 외부 프로젝트에서 뷰를 유지 한 다음 해당 뷰를 렌더링하는 HTML 확장 메서드를 만드는 것이 좋습니다.

+0

보안은 실제로 제가 생각한 것입니다. 그런데 내가 추측 할 수있는 보안 오류가 발생합니다. 처음부터보기가 없기 때문에 Htmlhelpers가 나를 꺼내지 않을 것입니다 ... –

+0

Htmlhelpers 제안에 의해 Whay가 의미하는 바는 bin 폴더에보기를 전혀 넣지 말고 가능한 경우 외부 라이브러리에서 렌더링되고 반환됩니다. –

1

/bin/Views의 파일을/Views로 이동하기 위해 프로젝트에서 빌드 후 작업을 사용하지 않는 이유는 무엇입니까? 그렇다면 코드에서 특별한 것을 할 필요가 없습니다.