2009-10-07 3 views
21

응용 프로그램간에 공통 부분 뷰를 공유하는 가장 좋은 방법은 무엇입니까? 부분 뷰를 포함하는 별도의 어셈블리를 ascx 파일에 포함 시켰습니다. 일부 뷰는 해당 뷰와 함께 사용하고 HtmlHelper 확장 메서드를 사용하면 부분 뷰를 더 쉽게 만들 수 있습니다. 그러나 ASP.NET MVC 응용 프로그램에서 해당 어셈블리를 참조 할 때 ascx 파일이 복사되지 않으므로 부분 뷰를 찾을 수 없습니다. 또한 응용 프로그램에 첨부 된 스크립트를 포함시키는 가장 좋은 방법은 무엇입니까? 현재 볼 수있는 유일한 방법은 관련 파일을 새 응용 프로그램에 복사하는 것입니다.프로젝트간에 ASP.NET MVC 부분 뷰 공유

답변

7

정말 좋은 질문입니다.

ascx 파일을 피하고 HTML 도우미에서 수동으로 HTML을 생성하는 것이 좋습니다. TagBuilder 클래스는 많은 도움을줍니다.

2

이 문제는 WebForms에서도 계속 발생합니다. 이 물건을 공유하는 것은 쉽지 않습니다.

내 선호하는 접근 방식은 mvc WebControls 또는 jQuery 플러그인으로 컨트롤을 만드는 것입니다. 그렇게하면 버전이있는 DLL 또는 스크립트 파일을 전달할 수 있습니다.

내가 말했듯이 웹 컨트롤러 솔루션을 버전 업하고 회사 인프라 프레임 워크에 넣을 수 있기 때문에 WebControls 솔루션을 많이 사용합니다.

그런 다음 (일부만) PartialView를 사용하여 웹 컨트롤을 렌더링하고 기본적인 감각, 마크 업 또는 콘텐츠를 추가하십시오.

4

This post은 DLL에보기를 포함하고 다른 프로젝트에서 렌더링하는 방법에 대해 설명합니다. 부분적으로도 작동 할 것 같지만 시도하지는 않았습니다.

0

WebForms의 접근 방식은 공유 사용자 컨트롤을위한 IIS 가상 디렉터리를 만드는 것이 었습니다. 이 접근 방식은 MVC에서 작동합니까?