°Á Àü Å¿ÀÀÇ Àâ´ã>
À̹ø °Á´ Å¿À »çÀÌÆ®ÀÇ ¸â¹öÀÌÀÚ, 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 ¼Ó¼º°ªÀ» Ãâ·ÂÇØ º¸¾Ò½À´Ï´Ù.
¸¶Áö¸·À¸·Î, À̹ø ÆÁÀÌ ±â¼úÀûÀ¸·Î ±×¸® ³À̵µ°¡ ³ô°Å³ª ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù.
±×Àú °¡²û¾¿ Á¢±Ù ¹æ¹ýÀÇ ÀüȯÀÌ ¹®Á¦ ÇØ°á¿¡ µµ¿òÀÌ µÉ ¼öµµ ÀÖ´Ù¶ó´Â ºÎºÐÀ» ¸»¾¸ µå·Áº¸°í ½Í¾ú½À´Ï´Ù.
±×·³, ¿ô´Â ÇÏ·ç µÇ½Ê½Ã¿À. ^^
°Á ¸ñ·ÏÀ¸·Î..
|