lecture Home > ASP.NET 2.0 > Taeyo.NET - ASP.NET 2.0

Taeyo.NET - ASP.NET 2.0

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2007³â 04¿ù 10ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2007³â 05¿ù 26ÀÏ

   °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : ness09(³ë Çü·¡)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : ReadOnly ¼³Á¤µÈ TextBoxÀÇ °ª °¡Á®¿À±â

°­Á Àü Å¿ÀÀÇ Àâ´ã>

À̹ø °­Á´ Å¿À »çÀÌÆ®ÀÇ ¸â¹öÀÌÀÚ, Microsoft MVPÀÎ ³ë Çü·¡´ÔÀÌ Á¦°øÇÏ´Â ASP.NET 2.0°ü·Ã Tip ÀÔ´Ï´Ù. ¾Ë¾ÆµÎ¸é »ó´çÈ÷ À¯¿ëÇÑ ³»¿ëÀÌ´Ï ¸¹Àº °ü½É ºÎʵå·Á º¸¾Æ¿°


À̹ø¿¡ ¸»¾¸ µå¸®°íÀÚ ÇÏ´Â ³»¿ëÀº ASP.NET 2.0¿¡¼­ ReadOnly ¼Ó¼ºÀÌ true·Î ¼³Á¤µÈ Textbox ¼­¹öÄÁÆ®·Ñ ³»¿¡ °ªÀ» Client Script¿¡¼­ ÇØ´ç Textbox ¼­¹öÄÁÆ®·ÑÀÇ °ªÀ» º¯°æ(¶Ç´Â ¼³Á¤)Çϰí PostBackÀÌ ¹ß»ýÇÑ °æ¿ì¿¡ ±× º¯°æµÈ °ªÀ» Codebehind¿¡¼­ °¡Á®¿À´Â ¹æ¹ý¿¡ ´ëÇØ ¸»¾¸ µå¸®°íÀÚ ÇÕ´Ï´Ù.

ÀÌ¹Ì ASP/ASP.NET 1.x ¿¡¼­ À§¿Í °°Àº °æ¿ìÀÇ ´ëÇ¥ÀûÀÎ ¿¹¶ó ¸»¾¸µå¸± ¼ö Àִ ȸ¿ø°¡ÀÔ(¶Ç´Â ȸ¿øÁ¤º¸ ¼öÁ¤)½Ã, ÁÖ¼ÒÀÔ·Â ºÎºÐÀ» Àß °³¹ßÇÏ¿´´Ù ¶Ç´Â Çϰí ÀÖ´Ù¶ó°í ¸»¾¸ÇϽô ºÐµµ °è½Ã¸®¶ó »ý°¢ÇÕ´Ï´Ù.

±×·¯³ª ASP.NET 2.0¿¡¼­´Â ReadOnly ¼Ó¼ºÀÌ true·Î ¼³Á¤µÈ ¼­¹öÄÁÆ®·ÑÀÇ °ªÀ» Client Script¸¦ ÅëÇØ Á¶ÀÛÇÏ¿© Codebehind¿¡¼­ ±× Á¶ÀÛµÈ °ªÀ» °¡Á®¿À·Á ÇÑ´Ù¸é ¾Æ·¡ À̹ÌÁö¿Í °°ÀÌ ASP.NET 1.x ¿¡¼­ °³¹ßµÈ °á°ú´Â ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù. ¸ÕÀú À̹ÌÁö¸¦ È®ÀÎÇϽñâ ÀÌÀü¿¡ ÀÌ ³à¼®ºÎÅÍ ÀÐ°í °¡¼ÌÀ¸¸é ÇÕ´Ï´Ù.

.NET Framework Ŭ·¡½º ¶óÀ̺귯¸® ³»¿¡ TextBox.ReadOnly ¼Ó¼º¿¡ ´ëÇÑ ³»¿ë Áß ÀϺÎÀÔ´Ï´Ù.

´Ù½Ã °Ô½Ã°¡ ¹ß»ýÇϸé ReadOnly ¼Ó¼ºÀÌ true·Î ¼³Á¤µÈ TextBox ÄÁÆ®·ÑÀÇ Text °ªÀÌ ¼­¹ö¿¡ º¸³»ÁöÁö¸¸ ¼­¹ö¿¡¼­´Â Àбâ Àü¿ë ÅØ½ºÆ® »óÀÚ¿¡ ´ëÇÑ Ã³¸®¸¦ ¼öÇàÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼­ ¾ÇÀÇÀûÀÎ »ç¿ëÀÚ°¡ Àбâ Àü¿ëÀÎ Text °ªÀ» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. ¼­¹öÃø Äڵ忡¼­ ¼öÁ¤µÇÁö ¾ÊÀº °æ¿ì Text ¼Ó¼º °ªÀº ºä »óÅ¿¡ À¯ÁöµË´Ï´Ù.

[ASP.NET 1.x] ReadOnly=true·Î ¼³Á¤µÈ TextBox

ÇØ´ç ÆäÀÌÁö¿¡ ÃÖÃÊ Á¢±ÙÇÑ È­¸éÀÔ´Ï´Ù.

"°ª ¼³Á¤"À̶ó´Â ¹öưÀ» Ŭ¸¯ÇÏ¿©, ClientScript·Î TextBox¿¡ "ClientScript·Î °ª¼³Á¤"À̶ó´Â ¹®ÀÚ¿­À» ÀÔ·ÂÇÏ¿´½À´Ï´Ù.

"PostBack ¹ß»ý"À̶ó´Â ¹öưÀ» Ŭ¸¯ÇÏ¿© PostBackÀ» ¹ß»ý½ÃŲ ÈÄ, Lable ÄÁÆ®·Ñ¿¡ TextBox ÄÁÆ®·ÑÀÇ °ªÀ» Ãâ·ÂÇÏ¿´½À´Ï´Ù.

Sample1x.aspxÀÇ HTML ¼Ò½º ÀÔ´Ï´Ù.

<form id="Form1" method="post" runat="server">
    <h3>ASP.NET 1.x ReadOnly TextBox Å×½ºÆ®</h3>
    <asp:TextBox id="txtReadOnly" runat="server" ReadOnly="true" BackColor="Silver"></asp:TextBox>
    <input type="button" value="°ª ¼³Á¤" onclick="document.getElementById('<%= txtReadOnly.ClientID %>').value= 'ClientScript·Î °ª¼³Á¤';">
    <asp:Button id="btnSubmit" runat="server" Text="PostBack ¹ß»ý"></asp:Button>
    <br />
    <br />
    <asp:Label id="lblResult" runat="server">ReadOnly TextBox °ª : </asp:Label>
</form>

Sample1x.aspxÀÇ Codebehind ÆÄÀÏÀÎ Sample1x.aspx.cs ÀÔ´Ï´Ù.

private void btnSubmit_Click(object sender, System.EventArgs s)
{
    this.lblResult += this.txtReadOnly.Text;
}

[ASP.NET 2.0] ReadOnly=true·Î ¼³Á¤µÈ TextBox

ASP.NET 1.x¿¡¼­ °³¹ßÇÑ À¥ÆäÀÌÁö¿Í µ¿ÀÏÇÑ ¼ö¼øÀ¸·Î Å×½ºÆ®¸¦ ÁøÇàÇÏ¿´½À´Ï´Ù.

     "°ª ¼³Á¤"À̶ó´Â ¹öưÀ» Ŭ¸¯,
     "PostBack ¹ß»ý" ¹öưÀ» Ŭ¸¯ÇÏ¿© PostBackÀ» ¹ß»ý½ÃŲ ÈÄ,
     Lable ÄÁÆ®·Ñ¿¡ TextBox ÄÁÆ®·ÑÀÇ °ªÀ» Ãâ·ÂÇÏ¿´½À´Ï´Ù.

º¸½Ã´Â °Í°ú °°ÀÌ ASP.NET 1.x¿Í´Â ´Ù¸£°Ô ClientScript »ó¿¡¼­ ¼³Á¤ÇÑ ¹®ÀÚ¿­ÀÌ TextBox.Text¸¦ ÅëÇØ °¡Á®¿ÀÁö ¸øÇϰí ÀÖ½À´Ï´Ù.

Sample20.aspxÀÇ HTML ¼Ò½º ÀÔ´Ï´Ù.

<form id="form1" runat="server">
  <div>
    <h3>ASP.NET 2.0 ReadOnly TextBox Å×½ºÆ®</h3>
    <asp:TextBox id="txtReadOnly" runat="server" ReadOnly="true" BackColor="Silver"></asp:TextBox>
    <input type="button" value="°ª ¼³Á¤" onclick="document.getElementById('<%= txtReadOnly.ClientID %>').value= 'ClientScript·Î °ª¼³Á¤';">
    <asp:Button id="btnSubmit" runat="server" Text="PostBack ¹ß»ý" OnClick="btnSubmit_Click"></asp:Button>
    <br />
    <br />
    <asp:Label id="lblResult" runat="server">ReadOnly TextBox °ª : </asp:Label>
  </div>
</form>

Sample20.aspxÀÇ Codebehind ÆÄÀÏÀÎ Sample20.aspx.cs ÀÔ´Ï´Ù.

private void btnSubmit_Click(object sender, System.EventArgs s)
{
    // ASP.NET 1.x¿¡¼­ »ç¿ëÇÏ´ø ¹æ¹ý
    this.lblResult += this.txtReadOnly.Text;
}

À§¿¡¼­ º¸½Å °Í°ú °°ÀÌ ASP.NET 2.0ÀÇ ReadOnly·Î ¼³Á¤µÈ TextBox¿¡ Client Script¸¦ ÀÌ¿ëÇÏ¿© °ªÀ» ¼³Á¤ÇÑ °æ¿ì ±âÁ¸ ASP.NET 1.x¿Í´Â ´Ù¸£°Ô PostBack ¹ß»ý ÈÄ, TextBox¿¡ Client Script¿¡¼­ ¼³Á¤ÇÑ °ªÀÌ ±âº»ÀûÀ¸·Î ¹ÙÀεù ¹× TextBox.Text ¼Ó¼ºÀ» ÅëÇØ Client Script¿¡¼­ ¼³Á¤´ø °ªÀ» °¡Á®¿ÀÁö ¸øÇϵµ·Ï µÇ¾î ÀÖ½À´Ï´Ù.

±×·³, ½ÇÁ¦ ASP.NET 2.0¿¡¼­ ReadOnly=true·Î ¼³Á¤µÈ TextBoxÀÇ °ªÀ» °¡Á®¿À´Â ¹æ¹ý¿¡ ´ëÇØ ¸»¾¸µå¸®°Ú½À´Ï´Ù.

// ASP.NET 2.0ÀÇ Ã³¸®¹æ¹ý #1 1. *.aspx (Html ¼Ò½º) ³»¿¡¼­ ReadOnly ¼Ó¼º ÀÚü¸¦ Á¦°Å    - <asp:TextBox id="txtReadOnly" runat="server" BackColor="Silver"></asp:TextBox>

2. *.aspx.cs (Codebehind) ³»¿¡ Page_Load À̺¥Æ® µî¿¡¼­ TextBoxÀÇ Attribute¿¡ ReadOnly¸¦ Ãß°¡
   - this.txtReadOnly.Attributes.Add("ReadOnly", "ReadOnly");

3. *.aspx.cs (Codebehind) ³»¿¡¼­ ASP.NET 1.x¿¡¼­ ÀÛ¼ºÇÑ ¹æ¹ý°ú µ¿ÀÏÇÏ°Ô ÀÛ¼º
   - this.lblResult += this.txtReadOnly.Text;

TextBox ÄÁÆ®·ÑÀÇ ReadOnly ¼Ó¼ºÀ» ÀÌ¿ëÇÏÁö ¾Ê°í, Attributes ¼Ó¼º¿¡ "ReadOnly"¸¦ Ãß°¡ÇÏ¿© À¥ ºê¶ó¿ìÀú¸¦ ÅëÇØ ÇØ´ç À¥ ÆäÀÌÁö°¡ »ç¿ëÀÚÀÇ PC·Î ·»´õ¸µµÇ´Â ½ÃÁ¡¿¡ TextBox°¡ ReadOnlyÀÎ °Í°ú °°ÀÌ º¸À̵µ·Ï¸¸ ³»·Á º¸³À´Ï´Ù.

// ASP.NET 2.0ÀÇ Ã³¸®¹æ¹ý #2
1. *.aspx (Html ¼Ò½º) ³»¿¡¼­ ReadOnly ¼Ó¼º ºÎ¿©
   - <asp:TextBox id="txtReadOnly" runat="server" ReadOnly="true" BackColor="Silver"></asp:TextBox>

2. *.aspx.cs (Codebehind) ³»¿¡¼­ ¾Æ·¡ ÄÚµå¿Í °°ÀÌ ÀÛ¼º)
   - this.txtReadOnly.Text = Request[this.txtReadOnly.UniqueID];
   - this.lblResult.Text += this.txtReadOnly.Text;

Request °³Ã¼¿¡ KeyÀ̸§ÀÎ txtReadOnly¸¦ ´ëÀÔÇÏ¿© ±âÁ¸ ASP¿¡¼­ Request·Î ÀԷ°ªÀ» ¹Þ¾Æ ó¸®ÇÏ´ø ÇüÅÂÀÎ Request["txtReadOnly"] ÇüÅÂ·Î ÇØ´ç ÄÁÆ®·ÑÀÇ °ªÀ» °¡Á®¿Â °ÍÀÔ´Ï´Ù.

¶ÇÇÑ, ReadOnly=true·Î ¼³Á¤µÈ °æ¿ì¿¡ Client Script¸¦ ÅëÇØ ¼³Á¤ÇÑ °ªÀÌ ±âº»ÀûÀ¸·Î ¹ÙÀεù ½ÃÄÑÁÖÁö ¾Ê±â¿¡ ÇØ´ç TextBox¿¡ Request °³Ã¼¸¦ ÀÌ¿ëÇØ ¹ÙÀεùÀ» ÇÏ¿´½À´Ï´Ù.

¾Æ·¡ÀÇ À̹ÌÁö´Â µÎ °¡Áö 󸮹æ¹ýÀÇ °á°ú È­¸éµéÀÔ´Ï´Ù. ÃÖÃÊ¿¡ º¸¿©µå·È´ø ¼Ò½º¿¡ °¢ 󸮹æ¹ýÀ» Àû¿ëÇÏ¿´°í, ReadOnly ¼Ó¼º°ªÀ» Ãâ·ÂÇØ º¸¾Ò½À´Ï´Ù.



¸¶Áö¸·À¸·Î, À̹ø ÆÁÀÌ ±â¼úÀûÀ¸·Î ±×¸® ³­À̵µ°¡ ³ô°Å³ª ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. ±×Àú °¡²û¾¿ Á¢±Ù ¹æ¹ýÀÇ ÀüȯÀÌ ¹®Á¦ ÇØ°á¿¡ µµ¿òÀÌ µÉ ¼öµµ ÀÖ´Ù¶ó´Â ºÎºÐÀ» ¸»¾¸ µå·Áº¸°í ½Í¾ú½À´Ï´Ù.

±×·³, ¿ô´Â ÇÏ·ç µÇ½Ê½Ã¿À. ^^

°­Á ¸ñ·ÏÀ¸·Î..