HTML 서버 컨트롤은 서버 코드로 프로그래밍 가능하게 만드는 특성을 가진 HTML 요소 또는 XHTML과 같은 지원되는 다른 태그의 요소입니다. 기본적으로 ASP.NET 웹 페이지의 HTML 요소는 서버에서 사용할 수 없습니다. 그 대신,브라우저로 전달되는 불투명 텍스트로 처리됩니다. 그러나 사용자는 HTML 요소를 HTML 서버 컨트롤로 변환하여 서버에서 프로그래밍할 수 있는 요소로 표시합니다.
HTML 서버 컨트롤의 개체 모델은 해당 요소의 개체 모델에 밀접하게 매핑됩니다. 예를 들어 HTML 특성은 HTML 서버 컨트롤에서 속성으로 표시됩니다.
페이지에 있는 모든 HTML 요소는 runat="server" 특성을 추가하면 HTML 서버 컨트롤로 변환될 수 있습니다. 구문 분석을 수행하는 동안 ASP.NET 페이지 프레임워크는 runat="server" 특성을 포함하는 모든 요소의 인스턴스를 만듭니다. 코드에서 컨트롤을 멤버로 참조하려면 컨트롤에 id 특성을 할당해야 합니다.
페이지 프레임워크에서는 페이지에서 동적으로 사용되는 가장 일반적인 HTML 요소에 대해 미리 정의된 HTML 서버 컨트롤 즉, form 요소, input 요소(텍스트 상자, 확인란, 전송 단추), select 요소 등을 제공합니다. 이렇게 미리 정의된 HTML 서버 컨트롤은 일반 컨트롤의 기본 속성을 공유하며 각 컨트롤은 일반적으로 자체의 속성 집합과 이벤트를 제공하기도 합니다.
HTML 서버 컨트롤이 제공하는 기능은 다음과 같습니다.
친숙한 개체 지향 기술을 사용하여 서버에 대해 프로그래밍할 수 있는 개체 모델 각 서버 컨트롤은 컨트롤의 태그 특성을 서버 코드에서 프로그래밍 방식으로 조작할 수 있는 속성을 제공합니다.
클라이언트 기반 폼에서와 거의 같은 방법으로 이벤트 처리기를 작성할 수 있는 이벤트 집합. 단, 이벤트가 서버 코드로 처리되는 경우는 제외합니다.
클라이언트 스크립트에서 이벤트를 처리할 수 있는 기능
컨트롤 상태의 자동 유지 관리. 페이지가 서버로 라운드트립하는 경우, 사용자가 HTML 서버 컨트롤에 입력한 값은 자동으로 유지되며 브라우저로 다시 보내집니다.
사용자가 컨트롤에 적절한 정보를 입력했는지 확인하기 위한 ASP.NET 유효성 검사 컨트롤과의 상호 작용
컨트롤의 하나 또는 여러 속성에 대한 데이터 바인딩
ASP.NET 페이지가 CSS 스타일시트를 지원하는 브라우저에 표시되는 경우 스타일에 대한 지원
사용자 지정 특성의 통과. HTML 서버 컨트롤에 필요한 모든 특성을 추가할 수 있으며 페이지 프레임워크에서는 기능을 변경하지 않은 상태로 이것을 렌더링합니다. 이렇게 하면 해당 브라우저에 맞는 특성을 사용자의 컨트롤에 추가할 수 있습니다.
HTML 요소를 HTML 서버 컨트롤로 변환하는 방법에 대한 자세한 내용은 방법: ASP.NET 구문을 사용하여 웹 페이지에 HTML 서버 컨트롤 추가를 참조하십시오.