lecture Home > ASP.NET > Web Matrix에서 나만의 템플릿 만들기

Web Matrix로 구현하는 Code-Behind (I)

   강좌 최초 작성일 : 2004년 07월 15일
   강좌 최종 수정일 : 2004년 07월 20일

   강좌 읽음 수 :

   작성자 : 손 경덕
   편집자 : Taeyo(김 태영)

   강좌 제목 : Web Matrix로 구현하는 Code-Behind(I)

강좌 전 손경덕의 잡담>

교수님께서 7월까지 2권의 책을 스터디하라는 특명을 받아 이틀에 한번씩 세미나를 하다 보니 좀처럼 시간이 나질 않네요. ^.^ 보통 챕터별로 사람을 정해서 하면 자신이 발표할 차례가 아니면 한번 읽어보면 되는데 방식을 바꿔서 발표가 있는날 사다리 타기를 합니다. 그러니 누가 발표를 하게 될지 모르는거죠. 게다가 5,000원이라는 벌금이 기다리고 있기때문에 안할 수가 없더군요. 게다가 그 방식을 제가 제안을 했답니다. 가끔 내가 왜 했는지 하는 생각도 들곤 합니다.ㅠ.ㅠ


강좌 시작 >

오래걸렸네요.. ^.^

community day때 taeyo님께서 다음 강좌를 언능 보내 달라는 말씀에 잡담에서와 같은 변명으로... ^.^;; 이번과 다음 강좌에서는 Code-Behind에 대해서 두편으로 나누어 살펴 보도록 하겠습니다. 강좌 내용은 다음과 같습니다.

Code-Behind (I) : Web Matrix로 코드-비하인드 템플릿 만들기 (일종의 재탕? ^^;;)
Code-Behind (II) : 코드-비하인드 구현시 Page_Load 이벤트와 @Page 지시자의 AutoEventWireup

I은 그냥 전 강좌에 대한 보충 설명을 코드-비하인드라는 주제로 살펴 봅니다. II는 코드-비하인드로 구현시 Page_Load 이벤트를 가지고 @Page 지시자의 AutoEventWireup에 대해서 살펴보도록 하겠습니다.

이미 코드-비하인드에 대해서는 다 알고 계시겠지만 혹시 가물가물 하신 분들은 2002년 4월에 taeyo님께서 올리신 ASP.NET & Code Behind (I), ASP.NET & Code Behind (II)를 다시 한번 읽어 보세요.

일단 CodeBehind.aspx 파일을 생성해 보도록 하겠습니다. 그 전에 aspx 파일 생성시에 Web Matrix에서 제공되는 템플릿을 변경해 보도록 하겠습니다.

변경해야 할 템플릿 파일은 기본 설치시 C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebMatrix\Templates\aspx\C# 폴더에 있는 NewFile.aspx 파일입니다.

<%@ Page language="C#" %%ClassName, Inherit="{0}"%% %%ClassName, Src="{0}.aspx.cs"%% %>
<html>
    <head>
    <title></title>
    </head>
    <body>
        <form runat="server">
            <!-- Insert content here -->
        </form>
    </body>
</html>

코드 비하인드를 위한 기본적인 템플릿을 만들었습니다. Web Matrix에서 새로운 aspx 파일을 만들때 파일명, 클래스이름(ClassName), 네임스페이스를 입력할 수 있습니다. 원래의 템플릿은 아래와 같습니다.

<%@ Page language="C#"%%ClassName, ClassName="{0}"%% %>

역시 빠르시군요. 이미 눈치채시다니... %%를 구분자로 해서 입력받은 ClassName 값을 채우는 패턴처럼 보이지 않나요? 그럼 위에 있는 Page 지시자가 이해가 되시죠? 첫번째 %%.. Inherit ..%%는 입력받은 ClassName을 {0}에 넣는데 Inherit=""를 붙인다는 게 되겠구요. %%.. Src ..%%는 Src=""로 만들겠다는 의미가 되겠습니다.

비하인드 클래스를 만들도록 하겠습니다. 이제는 제가 뭘 할까요? 역시 빠르시군요. 이번에는 일반 클래스 템플릿을 변경해야 겠죠? 왜냐면 키보드를 조금이라도 덜 사용하기 위해서... 그렇다고 저를 귀차니즘의 대가라고 생각하지는 말아 주세요. 아주아주 열심히 그리고 규칙적인 생활을 하고 있답니다. --.--* (믿거나 말거나~)

참고로 저는 CodeBehind.aspx와 CodeBehind.aspx.cs란 파일명을 사용하고 있습니다. 왜 ...aspx.cs를 쓰냐구요? 음.. 그.. 그건... Visual Studio .NET이 그렇게 하고 있어서.. 그.. 그래서.. ^^; 아무튼 전 그렇게 만들기로 결정했답니다.

// %%FileName%%
//

namespace %%NamespaceName%% {
    using System;
    using System.Web;
    using System.Web.UI;

    /// <summary>
    /// Summary description for %%ClassName%%.
    /// </summary>
    public class %%ClassName%% : Page {

        /// <summary>
        /// Creates a new instance of %%ClassName%%
        /// </summary>
        public %%ClassName%%() {
    }
    }
}

이미 꾀툴어 보시는군요 역시 대단하십니다. 참고로 cs 파일의 템플릿은 C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebMatrix\Templates\cs\C# 폴더에 NewFile.cs 입니다.

나만의 템플릿 만들기 강좌의 연장선이였습니다. 하지만 코드-비하인드 (II)에서 이걸 사용할 거라서 먼저 소개했습니다.

다음주 중으로 2탄을 들고 찾아 뵙겠습니다. 감사합니다.

 

Back