ASP.NET 웹 폼(ASP.NET Web Forms)은 웹 애플리케이션 프레임워크이자 마이크로소프트ASP.NET 기술이 지원하는 여러 프로그래밍 모델 중 하나이다. 웹 폼 애플리케이션은 C#이나 비주얼 베이직과 같은 공용 언어 런타임을 지원하는 모든 프로그래밍 언어로 작성할 수 있다. 웹 폼 페이지의 주요 구성 요소는 HTML 마크업을 렌더링하고 이벤트에 응답하는 재사용 가능한 구성 요소인 서버 컨트롤이다.[1] 보기 상태(view state)라는 기술은 일반적으로 무상태HTTP 요청 간의 서버 컨트롤의 상태를 유지하기 위해 사용된다.[2]
ASP.NET 웹 폼은 윈도우사용자 인터페이스와 유사한 컨트롤로 구성된 페이지를 구축할 수 있는 기능을 제공함으로써 개발자가 윈도우 응용 프로그램 개발에서 웹 개발로 전환하는 것을 단순화한다. 버튼이나 라벨과 같은 웹 컨트롤은 윈도우와 거의 같은 방식으로 작동한다. 코드는 속성을 할당하고 이벤트에 응답할 수 있다. 컨트롤은 스스로 렌더링하는 방법을 알고 있다. 윈도우 컨트롤은 화면에 자신을 그리는 반면, 웹 컨트롤은 최종 사용자의 브라우저로 전송되는 결과 페이지의 일부를 구성하는 HTML 및 자바스크립트 세그먼트를 생성한다.
ASP.NET 웹 폼은 프로그래머가 ASP 및 PHP와 같은 기존 웹 스크립트 환경이 아닌 사건 기반GUI 모델을 사용하여 애플리케이션을 개발하도록 권장한다. 프레임워크는 자바스크립트와 같은 기존 기술을 "ViewState"와 같은 내부 구성 요소와 결합하여 본질적으로 무상태 웹 환경에 지속적인(요청 간) 상태를 제공한다.