2009-04-05 6 views
0

작은 웹 응용 프로그램이 있습니다.Asp.Net에서 부분 클래스 만들기

다음과 같이하면됩니다. 코드 숨김 파일을 분할하는 부분 클래스를 만듭니다. 부분적인 클래스를 직접 생성 할 수없는 이유는 무엇입니까?

이 코드 숨김 파일 인 경우 :

using System; 
using System.Configuration.... 


public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Test(); 
    } 
} 

또한이 클래스 생성 :

public partial class _Default 
{ 
    public void Test() 
    { 
    } 
} 

내가 오류 메시지가이 테스트는 현재 컨텍스트에 존재하지 않습니다.

왜 이런가요?

System.Web.UI.Page에서 상속 한 두 개의 부분 클래스를 만든 다음이 클래스의 내 코드 숨김 파일 (부분 클래스의 결과)을 상속하면 모든 것이 작동합니다. 이것이 유일한 방법입니까?

코드 비하인드와 aspx-page가 동적으로 클래스로 컴파일되는 것과 관련이 있습니까?

누군가 내 문제에 답변 할 수 있으면 감사하겠습니다. 상황은 지금 당장 해결되고 있지만 코드 숨김과 동일한 "수준"에서 부분 클래스를 만들고 상속을 사용하지 않는 것이 좋습니다.

(나는 두 클래스의 앞에 강조하지만, 단 하나의 미리보기에서 볼 수있는 참고, 나는 이유를 모르겠다 ..)/존

감사 그들은에

+0

생성 한 부분 클래스는 어떤 네임 스페이스입니까? –

+0

웹 앱 프로젝트 또는 웹 사이트를 사용하고 있습니까? –

답변

1

1)) (I이 한 번도 안 써봤)을을 App_Code 디렉터리에
이 당신의 부분 클래스를 넣어 더 dll을 같은 웹 사이트 프로젝트

이 WAP에서 웹 응용 프로그램 프로젝트에 응용 프로그램을 변환 또는 winforms 프로젝트는 런타임 전에 컴파일되며 (ui는 업데이트 가능) 클래스를 네임 스페이스에 넣습니다. 웹 사이트 프로젝트는 표준 컴파일러와 다르게 작동하는 aspnet_compiler (예 : 동적으로 명명 된 어셈블리)를 사용하여 컴파일됩니다.

0

해야한다 그것들이 작동하지 않는다면 같은 네임 스페이스.

최고 감사합니다.

0

Okey. 글쎄 네임 스페이스 문제가 아니었지만 그 제안에 감사드립니다.

웹 사이트 대신 웹 응용 프로그램을 만들면 모든 것이 잘 작동합니다. 정말 고마워요.

기본적으로 새 프로젝트를 시작할 때마다 항상 새 웹 사이트 만들기를 선택합니다. 이전에는 전혀 문제가 없었습니다.

물론 위에서 언급 한 것 외에 어떤 차이점이 있습니까?

항상 웹 사이트 프로젝트 대신 웹 응용 프로그램 프로젝트를 사용하는 경우 단점이 있습니까?

감사합니다./John

+0

많은 정보가 바로 여기에 있습니다. http://stackoverflow.com/search?q=website+web+application+project – Will