login register Sysop! about ME  
qrcode
    최초 작성일 :    2004년 07월 20일
  최종 수정일 :    2004년 07월 20일
  작성자 :    sonkd (손경덕)
  편집자 :    Taeyo (김 태영)
  읽음수 :    20,305

강좌 목록으로 돌아가기

필자의 잡담~

..

오래걸렸네요.. ^.^

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탄을 들고 찾아 뵙겠습니다. 감사합니다.


authored by


 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})