asp.net은 그 이름에서 볼수 있다 싶이 이름의 앞 글자로 여전히 asp를 사용하고 있다. 즉 asp.net은 asp라는 기술에 .net기술을 접목한 기술이라는 것이다. 그렇다면 asp는 무엇인가? Asp는 Active Server Pages이다. 서버 페이지라는 것이다. 서버에서만 사용할수 있는 기술이며, 서버에만 관심을 갖는 페이지라는 이야기이다. 비록 그 페이지의 결과물은 클라이언트를 위한 것이라 하더라도, 그 결과물을 만들어 내는 곳은 서버측이다.
Form의 동작 방식:
Asp의 폼은 사용자로부터 어떠한 정보를 입력받기 위해 컨트롤들을 배치해 놓는 무형의 공간이다. 폼 구역 내부로 여러가지 서버 컨트롤들을 추가할 수 있고, 그렇게 폼 내부에 존재하는 컨트롤들만이 폼을 서브밋할 경우에, 지정된 서버의 페이지로 전송되어진다. 미 말은 다시 말해, 사용자와 대화하는 폼(Form)이 따로 존재하고, 폼에 입력된 데이터를 받아서 처리하는 asp페이지가 따로 존재한다는 이야기다. 물론, 하나의 페이지에서 처리할 수도 있다. 즉, Form.htm 페이지를 대신하여 Form.asp 페이지를 만든 다음, 사용자가 폼에 입력한 값들을 자기 자신 페이지로 되돌려 그 처리 역시 Form.asp에서 처리하게 할 수 있다. 하지만 그렇게 하나의 페이지로 몰아서 코딩하면 프로그래밍을 매우 어렵게 만들고 디버그하기도 어렵게 만들고, 유지 보수하기도 매우 힘들게 한다.
Asp.net에서는 폼도 페이지도 자신이고, 그것을 처리하는 페이지도 자신이다.
Asp.net이 포스트백을 선택한 것 뒤에는 “이벤트 기반 프로그래밍으로의 전환”이라는 것이 존재한다. 기존 asp 페이지처럼 절차, 순차적인 프로그래밍 방식이 아닌 이벤트 중심적인 방식으로의 변환이 포스트백이라는 방식을 용이하게 하고 있다.
asp에서는 이벤트 기반 프로그래밍이라는 것은 전혀 불가능에 가까운 방식이었다. 오로지 페이지는 순차적으로 진행되며, 서버측의 이벤트라는 것도 대단히 생소하게 느껴질 정도로 지원하지 않는다.
Asp.net이 이벤트 중심적인 프로그래밍을 가능하게 하기에, 우리는 단지 필요한 작업에 대해서 필요한 코드를 작성하기만 하면 된다.