다음은 웹 서버 컨트롤과 HTML 서버 컨트롤을 사용해야 하는 시점을 각각 요약한 것입니다.

컨트롤 형식 사용 시점
웹 서버 컨트롤
  • Visual Basic 형식의 프로그래밍 모델을 사용하려는 경우
  • HTML 3.2 및 HTML 4.0 브라우저에서 모두 사용할 수 있는 Web Forms 페이지를 작성하는 경우
  • 달력이나 Ad Rotator처럼 웹 서버 컨트롤로만 사용할 수 있는 특수 기능이 필요할 경우
  • 중첩된 컨트롤이 있는 응용 프로그램을 작성하려고 할 때 컨테이너 수준에서 이벤트를 catch하려고 하는 경우
HTML 서버 컨트롤
  • HTML 형식의 개체 모델을 사용하려는 경우
  • 기존 HTML 페이지로 작업할 때 Web Forms 기능을 신속하게 추가하려는 경우. HTML 서버 컨트롤은 HTML 요소에 정확히 매핑되므로 모든 HTML 디자인 환경에서 지원될 수 있습니다.
  • 컨트롤이 클라이언트 스크립트와도 상호 작용할 경우

컨트롤 선택에 대한 기타 사항

일반적으로 웹 서버 컨트롤은 HTML 서버 컨트롤보다 기능이 더 많고 개체 모델도 풍부합니다. 서버에서 모든 처리가 이루어지도록 Web Forms 페이지를 작성하는 경우에는 웹 서버 컨트롤을 사용하는 것이 좋습니다.

웹 서버 컨트롤

웹 서버 컨트롤은 웹 페이지에 데이터를 표시하거나 날짜를 선택하는 등의 기능을 신속하고도 쉽게 추가할 수 있는 방법을 제공하기 위해 디자인되었습니다. 또한 사용자의 브라우저 종류에 관계 없이 동일하게 작동하는 응용 프로그램을 위한 것입니다.


HTML 서버 컨트롤에 비해 웹 서버 컨트롤은 다음과 같은 장점을 갖고 있습니다.

  • 더욱 명확한 프로그래밍과 더 나은 오류 검사 기능을 위해 형식이 지정된 개체 모델을 제공합니다.
  • 역순 처리(HTML 3.2)의 브라우저와 순차 처리(HTML 4.0)의 브라우저 모두에 대해 정확한 HTML을 자동으로 생성합니다. 자세한 내용은 ASP.NET 서버 컨트롤 및 브라우저 기능을 참조하십시오.
  • CalendarDataGrid와 같이 더욱 복합적인 서버 컨트롤을 작성하기 위해 사용할 수 있습니다.

웹 서버 컨트롤의 단점은 브라우저로 보내진 페이지에 서버 컨트롤이 렌더링되는 방식을 직접 제어하기 어렵다는 점입니다. 예를 들면, 디자인 타임에 컨트롤에 HTML 특성을 추가할 수 없습니다. 그 대신 컨트롤을 프로그래밍하는 방식을 기준으로 HTML 요소와 해당 특성이 자동으로 만들어집니다.

HTML 서버 컨트롤

HTML 서버 컨트롤은 서버 및 클라이언트 런타임 환경에서 동일하므로 클라이언트와 서버 모두에서 컨트롤을 프로그래밍할 때 유용합니다. 이 컨트롤을 사용하면 컨트롤에 대한 클라이언트 스크립트를 더욱 쉽게 작성할 수 있습니다.


Web Forms 페이지가 서버에서 처리되는 경우 내부 HTML 요소의 정보를 사용하여 각 HTML 서버 컨트롤의 인스턴스가 만들어집니다. 컨트롤 클래스에서 인식된 특성은 속성이 됩니다. 알 수 없는 특성은 무시되고 통과되므로 페이지에서 만들어진 것처럼 브라우저에 나타납니다. 알 수 없는 특성은 Attributes 컬렉션을 통해 서버 코드에 액세스할 수 있지만 컨트롤 속성으로 만들어지지는 않습니다.


또한 HTML 서버 컨트롤을 사용하면 기존 HTML 또는 ASP 페이지를 Web Forms 페이지로 쉽게 변환할 수 있습니다. 페이지에서 HTML 요소 각각을 HTML 서버 컨트롤로 변환하면 페이지의 나머지 부분에 영향을 주지 않으면서 Web Forms 기능을 페이지에 신속하게 추가할 수 있습니다.

HTML 서버 컨트롤의 단점은 다음과 같습니다.

  • 모든 값이 문자열이므로 형식 안전성이 없습니다.
  • 여러 가지 브라우저가 지원되지만 확장 스타일을 사용하여 직접 프로그래밍해야 합니다. 브라우저에서 스타일을 자동으로 검색하는 기능은 없습니다.

자료출처 : http://msdn.microsoft.com/library/KOR/vbcon/html/vbconchoosingwebformscontrols.asp?frame=true

+ Recent posts