본문 바로가기
Web/ASP.NET

[ASP.NET] 서버 컨트롤 (HTML 서버 컨트롤, 웹 서버 컨트롤)

by WooHey 2022. 10. 21.

서버컨트롤이란?

: 서버에서 실행되고 HTML 에 그 결과를 출력하는 독립된 하나의 .NET 클래스.

 

HTML 서버 컨트롤을 제외한 모든 ASP.NET 서버 컨트롤들은 aspx 페이지에서 선언

<asp:Label ID="lblResult" runat="server" Text="결과"></asp:Label>

여기서 'asp:' 는 ASP.NET 컨트롤이 정의된 System.Web.UI.WebControls 네임 스페이스를 의미한다.

또 runat="server" 를 제거하면 웹 브라우저로 전달되지만 인식을 못해 서버, 클라이언트 둘 다 처리하지 못한다.

HTML 서버 컨트롤

: 특별한 변환 없이 표준 HTML 태그로 전환할 수 있는 서버 기반 컨트롤로, HTML 태그 속성(attribute)과 연관된 속성(properties)을 제공한다.

또한 HTML 서버 컨트롤은 그대로 HTML 태그로 전환된다.

 

예) HtmlImage 클래스는 <img> 태그의 속성인 align, alt, border, src, width 에 해당하는 Align, Alt, Border, Src, Width 등의 속성을 제공한다.

HTML 서버 컨트롤 클래스 상속 Diagram


표준 웹 컨트롤

: 웹 페이지 구성에 기본이 되는 웹 컨트롤.


버튼형 컨트롤

: Button, LinkButton, ImageButton 세 종류가 있다. 

속성 설명
Text 버튼 위에 보이는 문자열
CommandArgument CommandName 과 연관된 매개변수를 지정
CommandName Command 이벤트 발생 시 전달되는 Command의 이름을 지정
OnClientClick 클릭 시 수행할 클라이언트 스크립트를 지정
PostBackUrl 클릭 시 웹 폼의 정보를 전송할 URL을 지정.

주요 이벤트

  • Click : 버튼 클릭 시 발생
  • Command : 버튼 클릭 시 발생

LinkButton 컨트롤 : 하이퍼링크 형식으로 표시되는 버튼. 하이퍼링크와 같이 보이지만 Button 컨트롤과 동일한 속성, 이벤트를 갖고 있음.

 

ImageButton 컨트롤 : 버튼 모양 대신 이미지를 보여주는 컨트롤. 

  • ImageUrl : 이미지 경로 
  • AlternateText : 주어진 url에 이미지가 없을 때 대신 보여줄 문자열.

문자열 입출력 컨트롤

1. TextBox 컨트롤 : 사용자로부터 문자열을 입력받을 때 사용.

속성 설명
Text TextBox 컨트롤 문자열 내용 가져오거나 설정
TextMode SingleLine(default) : 한 줄로 입출력
MultiLine : 여러 줄로 입출력
Password : 비밀번호
MaxLength 입력할 수 있는 최대 문자 수를 지정.
Columns 문자단위의 너비 지정
Rows 행 단위의 높이 지정
ReadOnly TextBox 컨트롤을 문자열 출력용으로 사용할 때 True로.
Wrap 행의 끝에서 word wrap 할 것인지 지정
AutoPostBack 엔터나 Tab 키를 누를 때마다 서버로 정보를 보낼 것인지.

주요 이벤트

TextChanged : TextBox 컨트롤의 문자열 내용이 변경되었을 때 발생

2. Label 컨트롤

: 단순한 특정 위치에 문자열을 출력하는 기능을 갖는 컨트롤

3. Literal 컨트롤

속성 설명
Text Literal 컨트롤의 문자열 내용 가져오거나 설정.
Mode 문자열 출력 모드 지정
PassThrough : 문자열 내용 수정하지 않고 그대로 전달
Encode : 문자열 내용 HTML 문자로 인코딩한 문자열을 웹 브라우저로 전달
Transform : 지원되지 않는 태그는 문자열에서 제거.

선택형 컨트롤

1. CheckBox 컨트롤

속성 설명
Text 보여줄 문자열을 지정
TextAlign Text 속성 값을 보여줄 위치를 지정 (Left, Right)
Checked 선택 여부를 가져오거나 설정 (True, False)

주요 이벤트

  • CheckedChanged : 선택 상태가 변경될 때 발생. AutoPostBack 속성이 True 일 경우 자동 PostBack 된다.

2. RadioButton 컨트롤

주요 이벤트

  • GroupName : 라디오버튼 컨트롤이 속하는 그룹의 이름을 가져오거나 지정

목록형 컨트롤

ListItemCollection 클래스

맴버 설명
Count 항목 개수
Add() 목록의 마지막에 추가
Insert() 목록 중간에 삽입
IndexOf() 특정 항목 인덱스 반환
Contains() 특정 항목이 있는지 확인
Remove() 특정 항목을 삭제
RemoveAt() 특정 위치의 항목 삭제
Clear() 모두 삭제

1. CheckBoxList 컨트롤

: CheckBox 컨트롤 여러 개를 하나로 모아 구성한 컨트롤

2. RadioButtonLIst 컨트롤

: 라디오 버튼 여러개

3. ListBox 컨트롤

: 여러 항목에서 하나 이상의 항목을 선택

4. DropDownList 컨트롤

: 펼쳐진 목록 중 하나만 선택

5. BulletedList 컨트롤

Bullet 형식의 목록을 표현. (Bullet은 문장 앞에 찍는 굵은 점)


컨테이너형 컨트롤

1. Panel 컨트롤

: 페이지 내에서 정적 문자열 및 다른 컨트롤의 부모 컨트롤로 사용. 동적으로 생성된 서버 컨트롤을 포함할 수 있다.

2. PlaceHolder 컨트롤

: Panel과 같이 정적 문자열이나 다른 컨트롤의 부모 컨트롤로 사용.

3. MultiView 컨트롤과 View 컨트롤

: 이거 두 개는 함께 사용되며 MultiView 가 View 를 포함한다.


기타 표준 웹 컨트롤

AdRotator 컨트롤, Image 컨트롤, HyperLink 컨트롤, Table 컨트롤, FileUpload 컨트롤, HiddenField 컨트롤, Calendar 컨트롤