2010-02-17 2 views
2

배포 가능한 마스터 페이지를 dll에 구축하고 가상 경로 공급자를 사용하여 여러 ASP.NET 웹 응용 프로그램에서이를 참조했습니다. 내가 겪고있는 문제는 이것이 실제로 aspx 페이지의 소스보기를 혼동 시킨다는 것입니다.마스터 페이지 및 가상 경로 공급자의 문제

여기 내 aspx.cs 페이지 안에있는 코드는 각 콘텐츠 페이지에 실제로 MasterPage를 첨부하지만, 내가 말했듯이 지금 내 <asp:Content> 태그는 혼란스럽고 CTRL K + CTRL + D는 내 콘텐츠 페이지를 더 이상 사용하지 않으면 모든 경우에 유효성 검사 오류가 발생합니다. 도움!

protected override void OnPreInit(EventArgs e) 
     { 
      MasterPageFile = MasterPageVirtualPathProvider.MasterPageFileLocation; 
      base.OnPreInit(e); 
     } 

답변

2

공유 MP에 대한 디자인 타임 지원을 받으려면 작업 할 VS에 대한 마크 업을 제공해야합니다.

프로젝트 소비시 MP 마크 업 파일을 복사하고 코드 숨김 속성을 제거하고 코드 숨김 파일을 삭제하거나 빈 코드 숨김으로 연결된 사본을 추가하면됩니다.

이제 콘텐츠 페이지의 마스터 페이지를 방금 만든 스텁으로 설정하면 디자인 타임을 지원해야합니다.

VPP는 런타임에 내장 된 마크 업에서 렌더링해야합니다.

하지만 최적의 디자인 타임 지원을 원한다면 이것이 유일한 방법이라고 생각합니다.

+0

그래서 "~/MasterPages/Blank.master"라고 말하고 내 콘텐츠 페이지를 Blank.master에 추가하도록 MasterPageFile 속성을 설정해야합니까? 페이지가 실제로로드되면 페이지 init에서 MasterPageFile 속성을 내 VPP 마스터 페이지로 덮어 씁니까? – chrisjlong

+0

@chrisjlong, ok, 답변에서 이걸 다시 한 번 실행하겠습니다. –

+0

@chrisjlong, 아마도 '스텁'은 오해의 소지가 있습니다. 마크 업을 완료해야합니다. 그리고 논리를 유지하면서 마크 업을 수정할 수 있습니다. –