ASP에서 ASP.NET으로 넘어오면서 나오는 새로운 개념이다.
ASP에서는 클라이언트에 있는 Form의 값들을 개발자에 의해 수동으로 유지는 가능했지만, 자동으로 유지 할 수가 없었다.
그러나 ASP.NET 에서는 PostBack, Server 컨트롤, ViewState 라는 개념이 나오게 되면서 자동으로 유지 할 수가 있게 되었다.

Server 컨트롤인 'Button' 객체를 클릭하게 되면 이벤트가 발생하게 되고,
Click 이벤트를 처리하기 위해 서버로 폼 데이터를 전송하고
서버는 이 요구를 받아 이벤트를 처리하고, 다시 클라이언트로 웹 폼을 보낸다.
이렇게 이벤트를 처리하기 위해 서버로 데이터를 보내는 경우를 PostBack 이라 한다.
PostBack은 서버 웹 폼에서 Server 컨트롤을 사용하는 경우에만 사용된다.
PostBack에 대한 이벤트 처리순서는 좌측 그림에서 보다시피, OnLoad가 먼저 처리되고,
그 이후에 처리된다는 점을 주의하여야 한다.




Server 컨트롤은 ASP.NET의 이벤트 기반의 프로그래밍을 가능하도록 하기 위해 독자적인 이벤트를 제공, 별도의 랜더(Render) 프로세스를 가진다.
즉, Server 컨트롤이 화면에 표시되기 위해서는 랜더링 과정을 통해 HTML을 생성한다. 즉, 단순 HTML Form 모델이라면, 바로 스트림에 쓴 후 클라이언트에 전달할 수 있지만,  Server 컨트롤은 각각의 컨트롤이 랜더링 과정을 거쳐야 한다.
















ASP.NET에서는 현재 페이지의 상태를 유지하기 위해 ViewState 객체를 생성한다. 기본적으로 히든 필드 형태로 Base64로 인코딩된
문자열값을 HTML로 클라이언트에 전송하고, 포스트백이 발생하게 되면, 히든 필드의 값을 서버로 전송하여 페이지의 상태를 유지할 수 있다.






- 출처 및 참고자료 :
UMC 와 함께하는 .NET 플랫폼 이야기 > ASP.NET 서버 모델의 성능에 대한 고찰 [1]
UMC 와 함께하는 .NET 플랫폼 이야기 > ASP.NET 서버 모델의 성능에 대한 고찰 [2]

'WEB > ASP.NET' 카테고리의 다른 글

ASP.NET 컨트롤 -2-  (0) 2010.03.11
ASP.NET 컨트롤 -1-  (0) 2010.03.04
WebForm  (0) 2010.02.25
.NET Framework  (0) 2010.02.01
ASP.NET 스터디 Index  (0) 2010.02.01

+ Recent posts