°Á ½ÃÀÛ >
Á˼ÛÇÕ´Ï´Ù. ÇÑÁÖ°¡ ÇÑ´ÞÀÌ µÇ¾î ¹ö·È³×¿ä. À̹ø °Á¿¡¼´Â ¿Ïº®ÇÑ ÄÚµå ºñÇÏÀÎµå ±¸Çö¿¡ ´ëÇØ¼ ´Ù·çµµ·Ï ÇϰڽÀ´Ï´Ù.
À̹ø °Á´ Àü¿¡ ¸»¾¸µå¸°¹Ù¿Í °°ÀÌ À¥¸ÅÆ®¸¯½º¸¦ ÀÌ¿ëÇÑ Code-Behind¿¡ ´ëÇØ¼ Á»´õ ¾Ë¾Æº¸µµ·ÏÇϰڽÀ´Ï´Ù. ´õºÒ¾î À̹ø
°Á¿¡¼´Â ¿Ïº®ÇÑ ÄÚµå-ºñÇÏÀε带 ±¸ÇöÇÕ´Ï´Ù.
Àü °Á¿¡¼´Â À¥¸ÅÆ®¸¯½º¸¦ ÀÌ¿ëÇÏ¿© ÄÚµå-ºñÇÏÀε忡 ´ëÇØ¼ °£´ÜÈ÷ »ìÆìº¸¾ÒÀ¸¸ç À̸¦ À§ÇÑ ÄÚµå-ºñÇÏÀε带 À§ÇÑ ÅÛÇø´ »ç¿ë¿¡
°üÇØ¼ °£´ÜÈ÷ »ìÆìº¸¾Ò½À´Ï´Ù.
ÅÛÇø´ Ȱ¿ë¿¡ °üÇØ¼´Â ÀÌ¹Ì ¾Ë°í °è½Ã¸®¶ó »ý°¢Çϰí Äڵ带 Áß½ÉÀ¸·Î »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
¸ÕÀú CodeBehind2.aspx ÆÄÀÏÀ» »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
<%@ [Page Language="C#"] [CodeBehind="CodeBehind2.aspx.cs"] Inherits="Unicycle.CodeBehind2" [AutoEventWireup="false"] %>
<html>
<head>
<title></title>
<link href="/css/unicycle.css" type="text/css" rel="stylesheet" />
</head>
<body>
<form id="frmCodeHibehind2" runat="server">
<asp:Label id="lblPageLoad" runat="server"></asp:Label>
<br>
<asp:Label id="lblPagePreRender" runat="server"></asp:Label>
<br>
<br>
<asp:Button id="btnButton" Text="click me" runat="server"></asp:Button>
</form>
</body>
</html>
|
º¸½Ã´Â ¹Ù¿Í °°ÀÌ CodeBehind=""¿Í Inherits="" ±×¸®°í AutoEventWireup=""¸¦ ÁöÁ¤ÇÏ¿´½À´Ï´Ù.
CodeBeind¿Í Language ±×¸®°í AutoEventWireup ¼Ó¼ºÀº ÇÊ¿ä ¾øÁö¸¸ Visual Studio.NET¿¡¼
°³¹ß½Ã¿¡ ÀÚÁÖ º¸ÀÌ´Â °ÍµéÀ̶ó Àû¾úÀ¸¸ç ½ÇÁ¦ ¼ºñ½º¿¡¼´Â »ç¿ëµÇÁö ¾Ê¾Æµµ µÇ±â¿¡ []·Î ¹¾î¼ Ç¥½ÃÇÏ¿´½À´Ï´Ù.
AutoEventWireupÀº À̺¥Æ®¿Í ÇØ´ç À̺¥Æ® Çڵ鷯¸¦ ÀÚµ¿À¸·Î ¸ÅĪ ½Ãų °ÍÀÎÁö¿¡ ´ëÇÑ ¼Ó¼ºÀε¥ Ç¥Çö·ÂÀÇ ÇѰè·Î
MSDNÀÇ ³»¿ëÀ» ¹ßÃéÇß½À´Ï´Ù. ^^;;
MSDN :
Page Áö½Ã¹®ÀÇ AutoEventWireup Ư¼ºÀÌ true·Î ¼³Á¤µÇ°Å³ª ±âº»°ªÀÌ trueÀ̹ǷΠ»ý·«µÈ °æ¿ì ÆäÀÌÁö ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ÆäÀÌÁö À̺¥Æ® ƯÈ÷, Page_Init ¹× Page_Load ¸Þ¼µå¸¦ ÀÚµ¿À¸·Î È£ÃâÇÕ´Ï´Ù. ÀÌ °æ¿ì ¸í½ÃÀû Handles ÀýÀ̳ª ´ë¸®ÀÚ´Â ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
AutoEventWireup Ư¼ºÀÇ ´ÜÁ¡Àº ÆäÀÌÁö À̺¥Æ® 󸮱⿡ ¹Ì¸® ¿¹ÃøÇÒ ¼ö ÀÖ´Â À̸§ÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀÔ´Ï´Ù. ±× °á°ú À̺¥Æ® 󸮱âÀÇ À̸§À» ÁöÁ¤ÇÏ´Â µ¥ ÀÖ¾î À¯¿¬¼ºÀÌ Á¦Çѵ˴ϴÙ. µû¶ó¼ Visual Studio¿¡¼ AutoEventWireup Ư¼ºÀº ±âº»ÀûÀ¸·Î false·Î ¼³Á¤µÇ°í µðÀÚÀ̳ʿ¡¼ ÆäÀÌÁö À̺¥Æ®¸¦ ¸Þ¼µå¿¡ ¹ÙÀεùÇÏ´Â ¸í½ÃÀû Äڵ带 »ý¼ºÇÕ´Ï´Ù.
AutoEventWireupÀ» true·Î ¼³Á¤Çϸé Visual Studio¿¡¼ À̺¥Æ®¸¦ ¹ÙÀεùÇÏ´Â Äڵ带 »ý¼ºÇÏ°í ÆäÀÌÁö ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ±× À̸§À» ±âÁØÀ¸·Î ÀÚµ¿À¸·Î À̺¥Æ®¸¦ È£ÃâÇÕ´Ï´Ù. ±× °á°ú ÆäÀÌÁö¸¦ ½ÇÇàÇÏ¸é °°Àº À̺¥Æ® Äڵ尡 µÎ ¹ø È£ÃâµÉ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼ Visual Studio¿¡¼ ÀÛ¾÷ÇÒ ¶§´Â Ç×»ó AutoEventWireupÀ» false·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
À̹ø¿¡´Â ½ÇÁ¦ Äڵ尡 µé¾îÀÖ´Â C# Ŭ·¡½º ÆÄÀÏÀÎ CodeBehind2.aspx.csÀÇ ¼Ò½º¸¦ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
namespace Unicycle
{
using System;
using System.Web;
using System.Web.UI;
public class CodeBehind2 : Page
{
protected System.Web.UI.WebControls.Label lblPageLoad;
protected System.Web.UI.WebControls.Label lblPagePreRender;
protected System.Web.UI.WebControls.Button btnButton;
public CodeBehind2()
{
}
override protected void OnInit(System.EventArgs e)
{
InitControls();
base.OnInit(e);
Response.Write("OnInit<br>");
}
private void InitControls()
{
//control initialization
// À̺¥Æ® Çڵ鷯 µî·Ï
this.Load += new System.EventHandler(this.Page_Load);
this.PreRender += new System.EventHandler(this.Page_PreRender);
this.btnButton.Click += new System.EventHandler(this.btnButton_Click);
}
private void Page_Load(object sender, System.EventArgs e)
{
lblPageLoad.Text = "Page_Load Event!!<br>";
}
private void Page_PreRender(object sender, System.EventArgs e)
{
lblPagePreRender.Text = "Page_PreRender Event!!<br>";
}
private void btnButton_Click(object sender, System.EventArgs e)
{
Response.Write("Button Clicked!!<br>p");
}
}
}
|
³ì»ö ºÎºÐÁß OnInit ¸Þ¼Òµå´Â À̺¥Æ® Çڵ鷯¸¦ µî·ÏÇÏ´Â ºÎºÐÀ¸·Î MSDNÀ» º¸¸é "¼¹ö ÄÁÆ®·Ñ ÁÖ±âÀÇ Ã³À½ ´Ü°è·Î ¼¹ö ÄÁÆ®·ÑÀ» ÃʱâÈÇÒ ¶§
¹ß»ýÇÕ´Ï´Ù."¶ó°í ³ª¿ÍÀÖÀ¸¸ç ÀÌ À̺¥Æ®¸¦ ¹ß»ý½ÃŰ´Â ¸Þ¼Òµå°¡ OnInit ¸Þ¼ÒµåÀÔ´Ï´Ù. Áï À̺κп¡¼ ÄÜÆ®·Ñ¿¡ ´ëÇÑ Ãʱâȸ¦ ÇØÁÖ¸é µÈ´Ù´Â
°á·ÐÀÌ ³ª¿É´Ï´Ù. ^^;; ±×¸®°í Page Ŭ·¡½º¸¦ »ó¼ÓÇϱ⶧¹®¿¡ override¸¦ ÇØ ÁÖ¾ú±¸¿ä..
CodeBehind2.aspx.cs ÆÄÀÏÀ» ¶óÀ̺귯¸®·Î ¸¸µé±â À§Çؼ ÄÄÆÄÀÏÀ» ÇØ¾ß ÇÕ´Ï´Ù. ±×¸®°í Àú´Â CodeBehind2.dllÀÇ À̸§À¸·Î ÄÄÆÄÀ»À» Çϰí
¾ÖÇø®ÄÉÀ̼ÇÀÇ bin Æú´õ·Î ³Ö¾î ÁÖµµ·Ï ÇϰڽÀ´Ï´Ù. ´Ùµé ¾Æ½Ã°ÚÁö¸¸ ASP.NETÀº »ç¿ëµÇ´Â ¶óÀ̺귯¸®¸¦ °Ë»öÇÒ ¶§ ÇØ´ç À¥ ¾ÖÇø®ÄÉÀ̼Ç
·çÆ®¿¡ ÀÖ´Â bin Æú´õ¸¦ °Ë»öÇϱ⠶§¹®ÀÔ´Ï´Ù.
À̷μ ¿Ïº®ÇÑ ÄÚµå-ºñÇÏÀÎµå ±¸ÇöÀ» À§ÇÑ Áغñ¸¦ ÇÏ¿´½À´Ï´Ù. ±×·³ ºÓÀº»öÀº ¹«¾ùÀ̳ı¸¿ä? ÀÌ ºÎºÐÀº ÀÌ¹Ì Á¤ÇØÁø À̺¥Æ® Çڵ鷯¸¦ µî·ÏÇØ ÁÖ´Â
ºÎºÐÀÔ´Ï´Ù. ´Ù½Ã ¸»ÇÏÀÚ¸é ¹öưÀÌ Å¬¸¯µÇ¾úÀ» ¶§ ¼öÇàµÇ´Â ¸Þ¼Òµå¸¦ ÁöÁ¤ÇØ ÁÖ´Â ºÎºÐÀÔ´Ï´Ù. delegate¸¦ »ç¿ëÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.
´õºÒ¾î Visual Studio .NET¿¡¼´Â InitializeComponent()¶ó´Â ¸Þ¼Òµå¸¦ »ç¿ëÇϰí ÀÖÀ¸¸ç
/// <summary>
/// µðÀÚÀÌ³Ê Áö¿ø¿¡ ÇÊ¿äÇÑ ¸Þ¼µåÀÔ´Ï´Ù.
/// ÀÌ ¸Þ¼µåÀÇ ³»¿ëÀ» ÄÚµå ÆíÁý±â·Î ¼öÁ¤ÇÏÁö ¸¶½Ê½Ã¿À.
/// </summary>
¶ó´Â ¹®±¸·Î °íÄ¡¸é Å«ÀÏÀÌ ³ª´Â°Í ó·³ °æ°í¸¦ ÁÖ°í ÀÖ½À´Ï´Ù(¿¾³¯ º£Å¸ ¹öÀü¿¡¼´Â °¡²û ÄÁÆ®·ÑÀÇ À̺¥Æ® Çڵ鷯°¡ »èÁ¦µÇÁö ¾Ê´Â Çö»óÀÌ ÀÖ¾î
Á÷Á¢ »èÁ¦ÇØ Áֱ⵵ ÇÏ¿´½À´Ï´Ù.).
À§ÀÇ Äڵ忡¼´Â Page_Load(), Page_PreRender(), btnButton_Click() ¸Þ¼Òµå¸¦ À̺¥Æ® Çڵ鷯·Î µî·ÏÇØ ÁÖ¾ú½À´Ï´Ù.
ÀÌÁ¦ ÄÄÆÄÀÏÀ» ÇÒ Â÷·Ê±º¿ä. Àú´Â compile.bat ÆÄÀÏÀ» ¸¸µé¾î ÄÄÆÄÀÏÀ» Çϵµ·Ï ÇϰڽÀ´Ï´Ù. pause¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â ¹èÄ¡ ÆÄÀÏÀ» ´õºíŬ¸¯ÇÏ¿©
½ÇÇà½Ã۸é ÄÄÆÄÀÏ °á°ú¸¦ ´«À¸·Î È®ÀÎÇϱ⵵ Àü¿¡ commandâÀÌ ¾ø¾îÁö±â ¶§¹®¿¡ È®ÀÎÀ» À§Çؼ Ãß°¡ÇÏ¿´½À´Ï´Ù.
@echo CodeBehind2.cs¸¦ ÄÄÆÄÀÏÇÕ´Ï´Ù.
csc /t:library /r:System.dll,System.Web.dll /out:../bin/CodeBehind2.dll CodeBehind2.aspx.cs
pause
|
ÀÌÁ¦ ¸ðµç Áغñ°¡ ¸¶ÃÄÁ³À¸´Ï ½ÇÇàÀ» ÇØ º¸°Ú½À´Ï´Ù.
1¹øÀº À§ÀÇ Äڵ带 ±×´ë·Î ÄÄÆÄÀÏÇÏ¿© ½ÇÇà½ÃŲ °ÍÀ̰í 2¹øÀº PreRender¿¡ ÁÖ¼®Ã³¸®¸¦ ÇØ ³õ°í ´Ù½Ã ÄÄÆÄÀÏÇÑ ÈÄ ½ÇÇà½ÃŲ ȸéÀÔ´Ï´Ù.
1. PreRender À̺¥Æ® Çڵ鷯 µî·Ï |
2. PreRender À̺¥Æ® Çڵ鷯 ¹Ìµî·Ï |
 |
 |
À¥¸ÅÆ®¸¯½º¸¦ ÀÌ¿ëÇÑ ÄÚµå-ºñÇÏÀÎµå ±¸ÇöÀ̾ú½À´Ï´Ù. ¼ÕÀ¸·Î Çϱ⿡´Â ³Ê¹« ¸¹Àº ÀÛ¾÷ÀÌ ¾Æ´Ñ°¡ »ý°¢µË´Ï´Ù. ¿ª½Ã ÃÖ°íÀÇ ¹æ¹ýÀº Visual Studio .NETÀÎ °Í °°½À´Ï´Ù.
^^;; ´ÙÀ½ °ÁºÎÅÍ´Â Data PagesÀÇ ÅÛÇø´À» ´Ù·çµµ·Ï ÇϰڽÀ´Ï´Ù.
´ÙÀ½ °Á¿¡¼ ºË°Ú½À´Ï´Ù. °¨»çÇÕ´Ï´Ù.
Back
|