ASP.NET 페이지 수명 주기 개요(소결)
일반 페이지 수명 주기 단계
일반적으로 페이지 는 다음 표 개술 의 각 단 계 를 거 쳐 야 한다.페이지 라 이 프 사이클 단 계 를 제외 하고 요청 전후 에 나타 나 는 응용 프로그램 단계 도 있 지만 이 단 계 는 페이지 에 특정 되 지 않 습 니 다.더 많은 정보 에 대해 서 는ASP.NET 응용 프로그램 수명 주기 개요참조 하 시기 바 랍 니 다.
단계 설명
페이지 요청
페이지 요청 은 페이지 수명 주기 가 시작 되 기 전에 발생 합 니 다.사용자 요청 페이지 에서 ASP.NET 은 페이지 를 분석 하고 컴 파일 해 야 하 는 지(페이지 의 수명 주 기 를 시작 합 니 다),또는 페이지 를 실행 하지 않 은 상태 에서 페이지 의 캐 시 버 전 을 보 낼 수 있 는 지 여 부 를 확인 합 니 다.
시작 하 다
시작 단계 에서 페이지 속성 을 설정 합 니 다.예 를 들 어Request과Response.이 단계 에서 페이지 는 요청 이 리 턴 요청 인지 새 요청 인지 확인 하고IsPostBack속성 을 설정 합 니 다.또한 시작 단계 동안 페이지 의UICulture속성 도 설정 합 니 다.
페이지 초기 화
페이지 초기 화 기간 에 페이지 의 컨트롤 을 사용 할 수 있 으 며,각 컨트롤 의UniqueID속성 을 설정 할 수 있 습 니 다.그 밖 에 모든 주 제 는 페이지 에 적 용 될 것 이다.현재 요청 이 리 턴 요청 이 라면 리 턴 데 이 터 를 불 러 오지 않 았 고 컨트롤 속성 값 은 보기 상태의 값 으로 복원 되 지 않 았 습 니 다.
로드
불 러 오 는 동안 현재 요청 이 리 턴 요청 이 라면 보기 상태 와 컨트롤 상태 에서 복 구 된 정보 로 컨트롤 속성 을 불 러 옵 니 다.
검증 하 다.
검증 기간 에 모든 검증 프로그램 컨트롤Validate방법 을 호출 합 니 다.이 방법 은 각 검증 프로그램 컨트롤 과 페이지 의IsValid속성 을 설정 합 니 다.
리 턴 이벤트 처리
요청 이 리 턴 요청 이 라면 모든 이벤트 처리 프로그램 을 호출 합 니 다.
나타나다
보 여 주 는 동안 보기 상 태 는 페이지 에 저 장 됩 니 다.그리고 페이지 는 각 컨트롤 을 호출 하여 보 여 주 는 출력 을 페이지 의 Response 속성OutputStream에 제공 합 니 다.
마 운 트 해제
페이지 를 완전히 보 여 주 며 클 라 이언 트 에 페이지 를 보 내 고 버 리 려 고 할 때 마 운 트 해제 합 니 다.이 때,페이지 속성(예:Response 와 Request)을 마 운 트 해제 하고 청 소 를 실행 합 니 다.
라 이 프 사이클 이벤트
페이지 라 이 프 사이클 의 모든 단계 에서 페이지 는 자신의 코드 를 실행 하여 처리 할 수 있 는 사건 을 일 으 킬 것 입 니 다.컨트롤 이벤트 에 대해 서 는 설명 방식 으로 속성 을 사용 합 니 다(예: )또는 코드 를 사용 하 는 방식 으로 이벤트 처리 프로그램 을 이벤트 에 연결 할 수 있 습 니 다.
페이지 는 또한 자동 이벤트 연결 을 지원 합 니 다.즉,ASP.NET 은 특정한 이름 을 가 진 방법 을 찾 고 특정한 사건 을 일 으 킬 때 자동 으로 이 방법 을 실행 합 니 다.@ Page명령 의 AutoEventWireup 속성 이 true(또는 이 속성 이 정의 되 지 않 으 면 기본 값 으로 true)로 설정 되면 페이지 이 벤트 는 Page 사용 에 자동 으로 연 결 됩 니 다.이벤트 이름 을 지정 하 는 방법,예 를 들 어 PageLoad 와 PageInit。자동 이벤트 연결 에 대한 더 많은 정 보 는ASP.NET 웹 서버 컨트롤 이벤트 모드형 을 참조 하 시기 바 랍 니 다.
다음 표 는 가장 자주 사용 하 는 페이지 수명 주기 사건 을 보 여 줍 니 다.실제 사건 은 열 거 된 사건 보다 많다.그러나 이들 은 대부분의 페이지 처리 방안 에 사용 되 지 않 는 다.주로 ASP.NET 웹 페이지 의 서버 컨트롤 에 의 해 사용 되 며 그 자 체 를 초기 화하 고 보 여 줍 니 다.자신의 ASP.NET 서버 컨트롤 을 작성 하려 면 이 단 계 를 자세히 알 아야 합 니 다.사용자 정의 컨트롤 생 성 에 대한 정 보 는사용자 정의 ASP.NET 서버 컨트롤 개발을 참조 하 십시오.
이벤트
Page_PreInit
쓰다 IsPostBack 속성 은 이 페이지 를 처음 처리 하 는 지 확인 합 니 다.
동적 컨트롤 을 만 들 거나 다시 만 듭 니 다.
동적 설정 메 인 제어 페이지.
동적 설정 Theme 속성
프로필 속성 값 을 읽 거나 설정 합 니 다.
요청 이 리 턴 요청 이 라면 컨트롤 의 값 이 보기 상태 에서 복원 되 지 않 았 음 을 주의 하 십시오.이 단계 에서 컨트롤 속성 을 설정 하면 다음 단계 에서 값 이 바 뀔 수 있 습 니 다.
컨트롤 속성 을 읽 거나 초기 화 합 니 다.
컨트롤 속성 을 읽 고 업데이트 합 니 다.
프로그램 에 지정 한 처 리 를 수행 합 니 다:
페이지 에 인증 프로그램 컨트롤 이 포함 되 어 있 으 면 모든 처 리 를 수행 하기 전에 페이지 와 각 인증 컨트롤 을 검사 하 십시오. IsValid 속성
특정 이벤트 처리 Button 컨트롤의 Click 사건
페이지 의 내용 을 마지막 으로 변경 합 니 다.
마지막 청소 작업 을 수행 합 니 다.다음 을 포함 할 수 있 습 니 다.
열 린 파일 과 데이터베이스 연결 을 닫 습 니 다.
로그 기록 이나 요청 한 작업 을 수행 합 니 다.
마 운 트 해제 단계 에서 페이지 와 컨트롤 이 표시 되 었 기 때문에 응답 흐름 을 변경 할 수 없습니다.호출 방법 을 시도 하면 Response.Write 방법)이 페이지 는 이상 을 일 으 킬 것 이다.
페이지 수명 주기 에 대한 다음 과 같은 추가 정 보 를 주의 하 십시오.
각 ASP.NET 서버 컨트롤 은 자신의 수명 주 기 를 가지 고 있 으 며,이 수명 주 기 는 페이지 수명 주기 와 유사 합 니 다.예 를 들 어 해당 페이지 이벤트 기간 에 컨트롤 을 호출 합 니 다. Init 화해시키다 Load 방법페이지 에 컨트롤 이 포함 되 어 있 으 면 먼저 컨트롤 을 호출 합 니 다. Init 방법 Init 방법단,컨트롤 을 호출 할 것 입 니 다. Load 방법 전에 페이지 를 먼저 호출 한 Load 방법
컨트롤 의 이 벤트 를 처리 함으로써 컨트롤 의 외관 이나 내용 을 사용자 정의 할 수 있 습 니 다.예 를 들 어 모든 컨트롤 이 Init、Load 화해시키다 Unload 사건 이지 만 페이지 개발 자 들 은 이 사건 들 을 처리 하지 않 는 다.컨트롤 에 특 정 된 이 벤트 를 처리 하 는 것 입 니 다.예 를 들 어 Button 컨트롤의 Click 이벤트 ListBox 컨트롤의 SelectedIndexChanged 사건어떤 경우 에 도 컨트롤 을 처리 해 야 할 수도 있 습 니 다. DataBinding 혹시 DataBound 사건더 많은 정 보 는 각 컨트롤 의 유형 참고 주제 와사용자 정의 ASP.NET 서버 컨트롤 개발를 참조 하 시기 바 랍 니 다.
페이지 로 인 한 사건 을 처리 하 는 것 외 에 페이지 의 기본 클래스 를 다시 쓸 수 있 는 방법 도 있다.예 를 들 어 페이지 를 다시 쓸 수 있 습 니 다. InitializeCulture 지역 적 정 보 를 동적 으로 설정 할 수 있 도록 방법.주의 하 다 Page_event 문법 이 이벤트 처리 프로그램 을 만 들 때 암시 적 호출 기 를 실현 하기 때문에 방법 에서 호출 할 필요 가 없습니다.예 를 들 어 만 들 든 말 든 Page_Load 방법 은 항상 페이지 기본 클래스 를 호출 합 니 다. 방법하면,만약,만약... override 키워드 오 버 라 이 드 방법 은 반드시 명시 적 호출 기 방법 이 있어 야 한다.예 를 들 어 페이지 에 다시 쓰 면 방법 .Load(Visual Basic 에서 My.Load)실행 기반 으로 이 루어 집 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
github pages를 스타 도메인 이용으로 만든다.쉽게 정적 페이지를 hosting 할 수 있는 github의 일 기능입니다. cgi, php 등은 사용할 수 없습니다. jekyll등에서 로컬 작성 cms등 이용해, github에 업로드하는 것으로 가능. 무료로 사...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.