내가 작업하고있는 프로젝트는 원래 WebForms 였고 나중에 Asp.Net MVC로 마이그레이션 된 프로젝트였습니다. 3 페이지는 아직 Webforms를 사용하고 있으며 다시 작성할 필요가 없습니다.내 MVC 프로젝트에서 Webforms 또는 MVC 페이지를 통해 마스터 페이지를 호출 한 경우 어떻게 검색합니까?
동일하게 보이는 두 개의 별도 마스터 페이지를 유지 관리하지 않으려면 MVC.Master
및 Webforms.Master
두 개의 마스터 페이지가 있습니다. Webforms.Master
은 MVC.Master
을 마스터 페이지로 설정하여 사용자가 Webforms 또는 MVC 페이지를보고 있는지 항상 내 메뉴에 새 도구 링크를 추가합니다. Webforms.Master
에는 ajaxToolkit 스크립트 관리자 만 있습니다.
Telerik 지원을 추가 할 때까지 지금까지 모든 것이 제대로 작동했습니다. 문제는 당신이 예외를 얻을 당신이, 웹폼 페이지에 HTML을 도우미를 사용할 수 있다는 것입니다 A ViewMasterPage can be used only with content pages that derive from ViewPage or ViewPage<TModel>.
나는 Telerik의 스크립트와 스타일 시트 등록은 웹 양식 페이지를 실행하는 경우, 내가 이상적으로
처럼 뭔가를하고 싶은 상관하지 않기 때문에<% if (!PageIsWebforms)
{
Html.Telerik().....
}
%>
안타깝게도 내부 페이지가 WebForms 페이지인지 여부를 결정하는 좋은 방법을 생각할 수 없습니다. 아무도 내가 이것을 성취 할 수있는 아이디어가 있습니까?
이렇게했습니다. 페이지가 MVC 페이지이면'Page' 속성은'System.Web.MVC.ViewPage'를 상속받습니다. 따라서'Page가 System.Web.MVC.ViewPage'인지 확인하면 페이지가 MVC인지 아닌지를 알 수 있습니다. 감사! – KallDrexx
@KallDrexx, 더 직접적인 테스트는'Page is System.Web.MVC.ViewPage'를 확인하는 것입니다 (주의 **는 ** ** **이 아닙니다 **). 내 대답을 편집하여 실제 MVC 페이지 유형을 포함합니다. –
그래, 나는 단지 그것을 알아 차리고 그것을 편집했다 :) – KallDrexx