0

에 인터페이스를 구현하고 있습니다 (xcopy는 디렉토리에 aspx 페이지를 작성하므로 새로운 빌드를 생성하지 않아도됩니다). aspx에 인터페이스를 구현하고 싶습니다. page. 자, 페이지가 myPage.aspx 인 경우 일반적으로 인터페이스를 구현하는 코드 숨김 mypage.aspx.cs의 클래스입니다. 나는이이 토론의 범위를 벗어나는 이유로 aspx 페이지

<%@ Page Language="C#" AutoEventWireup="true" Inherits="ICustomInterface" %> 

같은 작업을 수행 할 때 나는 오류를 얻을

Parser Error Message: 'ICustomInterface' is not allowed here because it does not extend class 'System.Web.UI.Page'. 

방법 적, 오류가 발생하지 않는 페이지 속성 Inherits을 지정하지. 따라서 기본적으로 Inherits 속성을 지정하지 않으면 페이지가 System.web.UI.Page에서 상속됩니까?

우리는 VS2008 웹 응용 프로그램 프로젝트를 사용 중이며 aspx 페이지를 사전 컴파일하지 않습니다. HTTPModule (요청 시작)에서이 페이지에 대한 요청을 가로 채고 싶습니다. 요청이 ICustomInterface 유형의 페이지 인 경우 요청을 다르게 처리하고 싶습니다.

어떻게이 작업을 수행 할 수 있습니까?

답변

3

Inherits 매개 변수가 인터페이스가 아닌 기본 클래스를 필요로하기 때문일 수 있습니다.

System.Web.UI.Page에서 상속 받고 필요한 인터페이스를 구현하는 보조 클래스를 만들 수도 있습니다.

비록 완전히 추측하고 있습니다.

+2

+1 좋은 해결책; 사실 여러 개의 인터페이스가 이런 방식으로 구현 될 수 있습니다. –