lecture Home > ASP.NET > 악꽁이의 ASP.NET 강의

악꽁이의 ASP.NET 강의

   강좌 최초 작성일 : 2002년 02월 04일
   강좌 최종 수정일 : 2002년 02월 05일

   작성자 : acggongi(임 태영)
   편집자 : Taeyo(김 태영)

   강좌 제목 : WEB FORM CONTROLS 와 웹 프로젝트 생성

강좌 전 태오의 잡담>

아아... 너무나도 바쁜 나날들... 태오는 강좌를 올리겠다는 약속을 언제쯤이나 지킬것인가? 그것은 그렇구... 요즘은 재미있는 영화가 별루 없네요 거의 한주에 한번은 극장을 찾을 정도로 영화를 좋아하는 태오인데... 요즘은.. 그다지... "알리"의 개봉을 기다리는 수 밖에요... -_-a


강좌 시작 >

웹 폼을 작성하는 데 사용 되는 서버 컨트롤에는 크게 네 가지 종류가 있습니다.


HTML Server Control (HTML 서버 컨트롤)
HTML 태그와 1:1 맵핑 되는 컨트롤로, 즉 HTML 태그가 서버에서 프로그램이 가능하도록 한 컨트롤들 입니다.

Web Server Control (웹 서버 컨트롤)
ASP.NET 서버 컨트롤은 그 개념 자체가 HTML 서버 컨트롤 보다는 추상적이며, 이들의 객체 모델은 HTML 요소에 국한되지 않으며, 고유한 태그를 사용합니다.

Validation Control (유효성 검사 컨트롤)
사용자의 입력이 올바른지를 평가하고 그 결과를 보여주는 컨트롤 입니다.

User Control (사용자 컨트롤)
개발자가 만들 수 있는 컨트롤 입니다.


전체적인 개요를 방금 전에 살펴 보았습니다. 다음으로는 각각의 컨트롤을 조금 더 구체적으로 살펴 보는 시간을 갖겠습니다.

HTML 서버 컨트롤

1. 문법: <table id = "tml_table" runat = "server">

2. 설명:

HTML 요소는 서버에서 사용 할 수 없고 브라우저에게 보내지는 텍스트로 처리 될 뿐인 거 아시죠? HTML 요소를 HTML 서버 컨트롤로 변환 함으로써 서버의 프로그램 상에서 보여지므로 개발하기에 편리합니다. HTML 서버 컨트롤은 HTML의 기존 태그와 1:1로 맵핑 되므로 HTML 서버 컨트롤에서 지정한 속성은 즉시 HTML 속성으로 맵핑 됩니다. 서버컨트롤로의 전환은 기존의 코드에 runat = “server”을 추가 함으로써 간단하게 사용할 수 있습니다. 그러나 중요한 것은 코드 내의 멤버로서 컨트롤을 참조할 경우에는 반드시 컨트롤에 ID 속성을 설정해야 합니다.

3. 웹폼 디자인에서의 전환

아래의 예는 도구 상자의 HTML 에서 버튼을 웹폼에 추가한 후 마우스 우측 버튼을 눌러 나오는 켄텍스트 메뉴에서 "서버 컨트롤로 실행"을 클릭한 상태 입니다. 소스를 확인해보시면 runat = "server"가 추가 되어 있는 걸 확인 하실 수 있습니다.

Web Server Controls

1. 문법

   A. 주석 문법: <%--주석--%>
        예)
        <%--
             여기는 주석이랍니다
        --%>

   B. DataBinding 문법: <%# 해당 데이터 %>
        예) <%# DataBinder. Eval (Container, "DataItem.Name") %>
        (잠깐만…… 아직 이 문법에 대해 모르신다 구요? 너무 걱정 마세요!
        조금 지나면 외우기 싫어도 다 외워 진답니다. 그리고 굳이 암기할 필요도 없거든요.)

   C. Server Side Include: SSI) 문법: <! -- # include file = "파일경로와 파일명" -->

   D. 기본 문법: <asp:Textbox id="TextBox1" runat="server"></asp:Textbox>

2. 웹 서버 컨트롤은 다음과 같이 4가지로 분류가 가능합니다.

3. 설명:

웹 폼 컨트롤은 웹 폼이 실행되면 적절한 HTML을 사용해서 페이지 상에 렌더링 됩니다. 적절한 웹 페이지로 렌더링 된다는 의미는 예를 들어 버튼 컨트롤은 속성 값에 따라서 input tag 나 button tag로 렌더링 될 수 있으며, 텍스트 박스 컨트롤은 input tag 나 textarea로 렌더링 될 수 있습니다.


HTML 서버 컨트롤과 Web Server Control의 차이

외형의 차이는 거의 없습니다


첫째 날 강좌에 이어 이상으로 웹 폼과 컨트롤에 대한 전반적인 개념은 잡힌 것 같습니다. 아직 이해가 되지 않는 분들은 참고 서적을 굳이 구입하실 필요는 없습니다. 첫째 날과 지금까지의 강좌는 중요하기로 따지면 1등급임에는 분명하나, 앞으로 계속 쭈~욱 지겹도록 사용하게 될 컨트롤이고, 보게 될 소스이며, 개념이라고 말하기도 우스울 정도로 자유자재로 다루시게 될 것임을 확신하기 때문 입니다. (그러나 百聞之 不如 一打 겠죠?) 그럼 이제부터 본격적인 ASP.NET을 시작 하겠습니다. 먼저 IDE 환경에서 Web Application Project를 추가 하겠습니다. 그런 다음 생성된 웹폼에 텍스트 박스와 버튼 컨트롤을 하나 씩 추가한 후 페이지가 로드 될 때 텍스트 박스에 글이 입력 되는 예제를 해 보겠습니다.

1. Web Application 생성

실제로 프로젝트가 생성된 위치로 C:\inetpub\wwwroot\lecture\sample_01 이 됩니다.

2. 프론트 페이지 서버 익스텐션이 설치 되어 있고, 사용자에게 적절한 권한이 있다면 일련의 과정을 거치면서 웹 어플리케이션이 생성 될 것입니다.

3. 올바르게 생성된 ASP.NET은 다음과 같은 모양을 하고 있습니다

오늘의 강좌는 여기까지 입니다. 수고들 하셨습니다. 처음에 이 강좌를 올릴 결심을 하고 계획을 세울 땐 웹폼에 대한 개념을 잡고 바로 웹폼 컨트롤에 대해 다룰 까 생각 했었습니다. 그렇게 하면 이 강좌를 읽어 주시는 분들도 편하게 따라 하면서 할 수 있지 않을 까 생각에서였습니다. 첫 강좌를 올리고 이 강좌를 읽어 주실 대상을 정하고 나니 그렇게 할 수만은 없겠다는 생각이 들었습니다. 이 강좌를 읽어 주시는 분들의 대상을 ASP.NET을 처음 접하시는 분들을 대상으로 잡다 보니 바로 컨트롤을 다룬 다는 게 약간은 무리가 따르겠다는 생각이 들더군요. 그래서 이 번 강좌에 HTML 에서 쓰이는 태그가 이렇게 변했습니다 라는 간략한 차이와 부득이하게 다음 강좌에도 컨트롤로 바로 들어가기는 힘들 것 같습니다. 다음 강좌에는 ASP.NET에서 쓰이는 문법을 다루고, 그 다음 강좌부터는 정말로 IDE를 사용하여 컨트롤들을 하나하나 다루어 보겠습니다. 지루하더라도 조금만 참아 주세요..


참고) .NET 프레임워크에서 정의 하는 모든 형식은 반드시 특정 NAMESPACE에 속해 있게 됩니다. 네임스페이스는 클래스나 구조체 등을 이용하여 정의하는 형식을 그룹화하여 주는 역할을 하는 것으로 계층적 구조를 가집니다. 닷넷 프레임워크의 기본 클래스 라이브러리(BCL: Base Class Library)의 System.Web.UI.HTMLControls 네임스페이스에 정의되어 있는 HTML 서버 컨트롤 계층 관계는 HTMLCONTROL 클래스로부터 직간접적으로 상속 받습니다. 그 밖에 기본으로 설정되는 네임스페이스에는 System.Web.UI.WebControls가 있는데 이는 웹 응용프로그램에 사용되는 사용자 인터페이스 컨트롤에 대한 타입을 포함하는 구조체로 AdRotator, BorderStyle, DataGrid, HyperLink, ListBox, Panel, RadioButton, Table 등이 포함되어 있습니다.

수고 하셨습니다..

Back