본문으로 바로가기

서버에서 실행되고 HTML에 그 결과를 출력하는 서버 컨트롤은 각각 독립된 하나의 .NET 클래스로, ASP.NET의 핵심이라 할 수 있다.


HTML 서버 컨트롤을 제외한 모든 ASP.NET 서버 컨트롤들은 aspx 페이지에서 선언하고, 사용하는 방법도 같다.

aspx 페이지에서 웹 컨트롤은 다음과 같이 선언한다.


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


웹 컨트롤 선언은 마치 HTML 태그와 같이 보인다. 그러나 웹 컨트롤은 웹 브라우저상에 있는 것이 아니라 서버에서 동작하는 하나의 .NET클래스로 보아야 한다. aspx 페이지에서 선언한 웹 컨트롤은 웹 브라우저에서 다음과 같이 표현한다.


<span id="lblResult">결과 출력</span>


웹 컨트롤 선언에서 접두어 'asp:'는 웹 컨트롤의 네임스페이스를 가리킨다. 즉, asp:는 ASP.NET 컨트롤이 정의된 System.Web.UI.WebControls 네임 스페이스를 의미한다.


접두어 asp: 다음에 사용하고자 하는 웹 컨트롤의 이름을 선언한다. 앞의 예에서는 Label 컨트롤을 선언했다. 더불어 코드상에서 웹 컨트롤을 구별하기 위해 페이지 내에서 유일한 ID 속성도 설정한다.


HTML 서버 컨트롤과 달리 웹 컨트롤 정의에서 runat="Server" 를 제거하면 다음과 같이 HTML 소스에 표현되어 웹 브라우저로 전달되지만 웹 브라우저는 이 태그를 인식하지 못한다. 다시 말해, 서버 쪽에서도 클라이언트 쪽에서도 처리되지 않는 좀비와 같은 존재가 된다.


<asp:Label ID="lblResult" Text="결과 출력"></asp:Label>


마지막으로 HTML 태그와 같이 시작 태그와 종료 태그 사이에 어떠한 내용도 포함하지 않을 경우에는 다음과 같이 축약하여 정의해도 된다.


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


'Program > ASP.NET' 카테고리의 다른 글

DLL이란?  (0) 2017.03.22
[ASP.NET] 15. 표준 웹 컨트롤  (0) 2017.03.09
[ASP.NET] 13. ASP.NET 응용 프로그램  (0) 2017.03.07
[ASP.NET] 12. 리다이렉션  (0) 2017.03.07
[ASP.NET] 11-1 Request 객체와 Response 객체  (0) 2017.03.06