2014-03-28 10 views

답변

1

Page_Load가 먼저 실행되고 나중에 이벤트 처리기가 정상적으로 실행됩니다. 따라서 프로그램은 설계대로 작동합니다. 페이지주기에 MSDN에서

발췌 :

하중 부하 중

현재 요청이 게시 경우, 제어 특성 뷰 상태로부터 복구 정보 로딩 상태를 제어한다.

요청이 포스트 백, 제어 이벤트 핸들러가 호출 될 경우

처리 게시 이벤트. 그런 다음 각 유효성 검사기 컨트롤과 페이지의 IsValid 속성을 설정하는 모든 유효성 검사기 컨트롤의 Validate 메서드가 호출됩니다. 이 시퀀스에 예외가 있습니다. 유효성 검사를 일으킨 이벤트 처리기는 유효성 검사 후 호출됩니다.

ASP.NET 페이지의 수명주기에 대한 자세한 내용은 link을 참조하십시오.


해상도

이 페이지가 처음 요청 될 때만를 Page_Load에서 특정 단계 (또는 페이지에 다른 방법)을 수행해야하는 경우, 당신은 할 따라서 IsPostBack 속성을 확인 할 수 있습니다 프로그램은 귀하의 질문에 설명대로 행동 :

public void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     // Steps are only run on initial GET, not when request is a PostBack. 
    } 
} 
+0

jquery에 코드를 작성하는 경우? '$ ("# button"). 클릭 (...)' – Jeyhun

+1

@ user3461906 : 자바 스크립트 코드가 클라이언트에서 실행되므로 jQuery에서 수행하는 작업은 PostBack을 시작할 때까지 ASP.NET 페이지 수명주기에 영향을 미치지 않습니다. 서버에. – Markus

+0

감사합니다, @Markus – Jeyhun

1

처음에는로드 이벤트가 발생하고 버튼 이벤트 핸들러는 올바르게 발생합니다. 처음에는 코드 만 실행하고 다시 게시 할 때 IsPostBack 속성을 확인하지 않으려면 코드를 실행하십시오.