2011-04-18 3 views
0

나는 asp.net 2008 웹 사이트 인 2 개의 프로젝트가 있습니다.ASP.NET 상속

파일 구조는 이렇게이다 : 내 index.aspx 페이지에서

P_Project 
P_Project/index.aspx.cs 
P_Project/App_Code/PageBase.cs 

P_Project/Q_Project/App_Code/PageBase.cs 

, 나는 P_Project의 PageBase.isPLoggedIn()를 호출하지만 어떻게 내가 내 인덱스에서 Q_Project의 PageBase.isQLoggedIn()에 대한 액세스를받을 수 있나요. aspx.cs 페이지? 그들은 별도의 웹 프로젝트 인 경우

+0

각각의 네임 스페이스는 무엇입니까? – Tejs

+0

은 P_Project 네임 스페이스에 있고 다른 하나는 Q_Project 네임 스페이스에 있습니다. – chris

답변

3

, 당신은 당신이 (가) P_Project에서 Q_Project (그리고 바이스 ​​반대)에 대한 참조를하지 않는 한이 아마 나쁜 생각

그것을 할 수 없습니다.

대신 클래스 라이브러리 (P_Project 및 Q_Project 각각에 대해 하나씩)가 있어야하며 웹 프로젝트에서 각각을 참조해야합니다.

그러면 Q_Project.PageBase.isQLoggedIn()을 통해이를 참조 할 수 있습니다.

+0

하지만 작동 여부는 isQLoggedIn()의 구현에 크게 의존 할 것입니다. ASP.NET과 함께 제공되는 멤버 자격 공급자를 사용하는 경우 동일한 응용 프로그램 이름을 갖고 있는지 확인하고 Web.config를 편집하여 두 응용 프로그램이 서로 다른 인증 토큰을 해독 할 수 있는지 확인해야합니다. 여기를 확인하십시오 (예 : [link] (http://weblogs.asp.net/scottgu/archive/2005/12/4/485851.aspx)). –

0

1- Q_Project를 P_Project로 참조 했습니까? P_Project에 Q_Project를 참조로 추가하지 않습니다.

2- PageBase.isQLoggedIn()이 public 메서드인지 확인하십시오.

3- PageBase 클래스의 인스턴스를 만들지 않으면 PageBase.isQLoggedIn()이 public 및 static 메서드인지 확인하십시오.