Àç¹ÌÀÖ´Â ÀÚ¹Ù½ºÅ©¸³Æ®, HTCs ÀÇ ÀÛ¼º ¹× ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ ¿¬µ¿
Áö±Ý±îÁö ¿ì¸®µéÀº µÎ Â÷·Ê¿¡ °ÉÄ£ ³íÀǸ¦ ÅëÇØ¼ °£´ÜÇϰԳª¸¶ HTCs ¶õ ¾î¶°ÇÑ ±â¼úÀÎÁö, ±×¸®°í ±¸Ã¼ÀûÀ¸·Î ¾î¶»°Ô Ȱ¿ëµÉ ¼ö ÀÖ´Â ±â¼úÀÎÁö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾ÒÀ¸¸ç ºñ±³Àû °£´ÜÇÑ ¼öÁØÀÇ HTCs ¸¦ Á÷Á¢ ÀÛ¼ºÇغ¸±âµµ Çß´Ù.
º»¹®¿¡¼´Â ±â¼úÀûÀÎ °üÁ¡¿¡¼ HTCs ¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇÏ¿© Á¶±Ý ´õ ³íÀǸ¦ ÁøÇàÇØº¸°í ±×·¯ÇÑ °úÁ¤ÀÇ °á°ú·Î¼ ¾ò¾îÁö´Â HTCs ¸¦ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ°ú ¿¬µ¿ÇÏ´Â ±¸Ã¼ÀûÀÎ »ç·Ê¸¦ »ìÆìº¸°íÀÚ ÇÑ´Ù.
¸¸¾à ¿©·¯ºÐµéÀÌ Àü¹®ÀûÀÎ ASP .NET °³¹ßÀÚ°¡ ¾Æ´Ï¶ó´ø°¡ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» Á¦ÀÛÇØº» °æÇèÀÌ ¾ø°Å³ª ASP .NET À» ÀÌÁ¦ ¸· ½ÃÀÛÇϰíÀÚ °èȹÁßÀÎ °³¹ßÀÚ¶ó¸é,
´Ù¼Ò ºÎÁ·Çϳª¸¶ º»¹®¿¡¼ Á¦½ÃµÇ´Â ³íÀǸ¦ ÅëÇØ¼ ±× °·ÂÇÑ ±â´ÉÀ» ÀÏºÎ¶óµµ Á¢Çغ¼ ¼ö ÀÖ´Â ÀǹÌÀÖ´Â ±âȸ°¡ µÉ ¼ö ÀÖ¾úÀ¸¸é ÇÑ´Ù.
¸ÕÀú »ìÆìº¸°íÀÚ ÇÏ´Â ºÎºÐÀº °ú¿¬ Áö³±Û¿¡¼ ¿ì¸®µéÀÌ °í¹ÎÇϸç ÀÛ¼ºÇß´ø HTCs °¡ °¡Áö°í ÀÖ´Â ¹®Á¦Á¡Àº ÀüÇô ¾ø´Â°¡ ÇÏ´Â Á¡ÀÌ´Ù.
ÀÌ HTCs ÀÇ ±¸Ã¼ÀûÀÎ ¸ñÇ¥´Â ÃÖÁ¾ »ç¿ëÀÚ°¡ ½Ç¼ö ¶Ç´Â °íÀÇ·Î ¼ýÀÚ°ª ÀÌ¿ÜÀÇ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ´Â °ÍÀ» ¹æÁöÇÏ´Â °ÍÀ¸·Î, ½ÇÁ¦·Îµµ ±× ±â´ë¿¡ ºÎÇÕÇÏ¿© ¿¹»óÇÑ ¹Ù¿Í °°ÀÌ Àß µ¿ÀÛÇÑ´Ù´Â »ç½ÇÀ» ÀÌ¹Ì È®ÀÎÇÑ ¹Ù ÀÖ´Ù.
±×·¯³ª ÀÌ HTCs ¿¡´Â ºñ·Ï °£´ÜÇϱä ÇÏÁö¸¸ ¹Ý¸é ¸Å¿ì Ä¡¸íÀûÀÎ ´ÜÁ¡ÀÌ ÇÑ °¡Áö Á¸ÀçÇÑ´Ù.
Áï ÃÖÁ¾ »ç¿ëÀÚ°¡ ÀÔ·ÂÇÏ´Â µ¥ÀÌÅ͸¦ ´ë»óÀ¸·Î´Â »ó´ëÀûÀ¸·Î ¾ö°ÝÇÑ À¯È¿¼º °Ë»ç¸¦ ¼öÇàÇÏÁö¸¸, °³¹ßÀÚ°¡ ÀúÁö¸£´Â ½Ç¼ö¿¡ ´ëÇØ¼´Â °ÅÀÇ ¿Ïº®ÇÏ°Ô ¹«¹æºñ »óŶó´Â Á¡ÀÌ´Ù.
°á°úÀûÀ¸·Î ÀÌ·¯ÇÑ Ä¡¸íÀûÀÎ ´ÜÁ¡À» °³¼±ÇÏÁö ¸øÇÑ´Ù¸é ÀÌ HTCs ´Â Àç»ç¿ë¼ºÀ̶ó´Â ºÎºÐ¿¡ ÀÖ¾î¼ ´ÜÀûÀ¸·Î ³·Àº Æò°¡¸¦ ¹ÞÀ» ¼ö ¹Û¿¡ ¾øÀ» °ÍÀÌ´Ù.
°£´ÜÇÏÁö¸¸ ´ÙÀ½ÀÇ INPUT ÅÂ±× ¿¹Á¦´Â ¹Ù·Î ÀÌ·¯ÇÑ ¹®Á¦Á¡À» Àû³ª¶óÇÏ°Ô º¸¿©ÁÖ°í ÀÖ´Ù.
<input type="text" id="HTCs1" style="behavior: url(asp_0017_01.htc);">
<script language="JavaScript" type="text/javascript">
<!--
document.getElementById("HTCs1").value = "ABC";
//-->
</script>
|
´ë¹ø¿¡ ¾Ë ¼ö ÀÖ°ÚÁö¸¸ ÀÌ ¿¹Á¦¿¡ »ç¿ëµÈ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµåÀÇ ¼öÁØÀ̶ó´Â °ÍÀº ƯÀÌÇϱâ´Â Ä¿³ç ½Ç¹«¿¡¼´Â µÇ·Á Áú·Á¹ö¸± Á¤µµ·Î ºó¹øÇÏ°Ô Á¢ÇÏ°Ô µÇ´Â Æò¹üÇÑ ÄÚµå·Î¼ ÇÊÀÚ°¡ ³»¿ëÀ» ¼³¸íÇÑ´Ù´Â °ÍÀÌ ¹«¾ÈÇÒ Á¤µµÀÇ Äڵ忡 ºÒ°úÇÑ °ÍÀÌ´Ù.
±×·³¿¡µµ ºÒ±¸Çϰí HTCs ÀÇ ±â´ÉÀº ³Ê¹«³ªµµ ½±°Ô ¹«³ÊÁ® ¹ö·È´Ù.
°á°úÀûÀ¸·Î ÀÌ·¯ÇÑ »ç·Ê´Â ¿ì¸®µéÀÌ ÀÛ¼ºÇÑ HTCs °¡ ±×´ÙÁö Ä¡¹ÐÇÑ ¼³°è¸¦ ¹ÙÅÁÀ¸·Î ÀÛ¼ºµÈ °ÍÀº ¾Æ´Ï¶ó´Â ¹ÝÁõÀÎ ¼ÀÀÌ´Ù.
±×¸®°í ´ÙÀ½ÀÇ HTML ÄÚµå ¿ª½Ãµµ ÇöÀç ÀÌ HTCs °¡ °¡Áö°í ÀÖ´Â ¹®Á¦Á¡µé ÁßÀÇ Çϳª¸¦ ¸íÈ®ÇÏ°Ô µå·¯³»ÁÖ´Â ¶Ç ÇϳªÀÇ »ç·Ê´Ù.
³Ê¹«³ªµµ ¾îÀ̾ø´Â ´Ü¼øÇÑ Á¶ÀÛ¸¸À¸·Îµµ ±×³É ³Ñ¾î°¡±â¿¡´Â °ï¶õÇÑ ¹®Á¦Á¡ÀÌ ³ëÃâµÈ´Ù´Â »ç½ÇÀ» ½±°Ô ÀÎÁöÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
<input type="text" id="HTCs2" style="behavior: url(asp_0017_01.htc);" defaultValue="ABC">
|
±×·¸´Ù¸é ÀÌ µÎ °¡Áö ¹®Á¦Á¡À» ÇØ°áÇÏ´Â µ¥¿¡¼ºÎÅÍ º»°ÝÀûÀÎ ³íÀǸ¦ ½ÃÀÛÇØº¸µµ·Ï ÇÏÀÚ.
±×·±µ¥ ÇÑ °¡Áö ¾ÈŸ±î¿î »ç½ÇÀº ù ¹øÂ° ¹®Á¦Á¡ÀÇ °æ¿ì¿¡´Â ¹®Á¦ÀÇ ¹ß»ý ±× ÀÚü¸¦ ¹æÁöÇÒ ¼ö ÀÖ´Â ±Ùº»ÀûÀÎ ÇØ°á ¹æ¹ýÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù.
Àû¾îµµ ÇÊÀÚ°¡ Áö´Ñ Áö½ÄÀ¸·Î´Â º°´Ù¸¥ ¹æ¹ýÀ» ãÀ» ¼ö°¡ ¾ø¾ú´Ù.
ÀÏ´Ü ¼Õ½±°Ô °í·ÁÇØ º¼ ¼ö ÀÖ´Â ¹æ¹ý¿¡´Â ±âÁ¸ÀÇ HTCs ¿¡ onchange À̺¥Æ® Çîµé·¯¸¦ Ãß°¡ÇÏ´Â ¹æ¹ýÀÌ ÀÖÀ» °ÍÀÌ´Ù.
±×·¯³ª ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â °æ¿ì¿¡´Â ÀÌ À̺¥Æ® ÀÚü°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù.
µû¶ó¼ ÀÌ ¹æ¹ýÀº °ÅÀÇ ¹«¿ëÁö¹°À̳ª ¸¶Âú°¡ÁöÀÌ¸ç ±×·¸´Ù°í º°´Ù¸¥ ´ë¾Èµµ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.
°á±¹ ÇÊÀÚ°¡ ¾ò¾î³¾ ¼ö ÀÖ¾ú´ø ÃÖ¼±ÀÇ °á·ÐÀº µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç¸¦ À§ÇÑ ÈÄó¸® ÀÛ¾÷ÀÇ ÀÏȯÀ¸·Î¼ »ç¿ëµÉ ¼ö ÀÖ´Â, ±×¸®°í ÀÔ·ÂµÈ µ¥ÀÌÅÍÀÇ À¯È¿¼ºÀ» °Ë»çÇØÁÖ°í °æ¿ì¿¡ µû¶ó¼´Â º¸Á¤ ÀÛ¾÷±îÁö ó¸®ÇØÁÖ´Â ÇÔ¼ö¸¦ ÀϰüÀûÀÎ ÇüÅ·ΠÁ¦°øÇØÁÖ´Â ¾î´À Á¤µµ ¼Ò±ØÀûÀÎ ¹æ¹ý»ÓÀ̾ú´Ù.
À̸¦Å×¸é »ç¿ëÀÚÀÇ µ¥ÀÌÅÍ ÀԷ°ú °ü·ÃÀ» °¡Áö°í ÀÖ´Â ¸ðµç Á¾·ùÀÇ HTCs ¿¡ ¹Ì¸® ±ÔÁ¤ÇÑ À̸§À¸·Î ÀÛ¼ºµÈ ÇϳªÀÇ ÇÔ¼ö, °¡·É isValidate() ¿Í °°Àº ÇÔ¼ö¸¦ Á¦°øÇϰí ÀÌ HTCs µéÀ» »ç¿ëÇÏ´Â ¸ðµç ÆäÀÌÁö¿¡¼´Â FORM ÀÌ ¼ºê¹ÔµÇ±â Á÷Àü¿¡ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ¿© À¯È¿¼ºÀ» °ËÁõÇϵµ·Ï ÇÁ·Î±×·¡¹Ö ·êÀ» Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù.
±×·¯¸é HTCs ¿¡ ½ÇÁ¦·Î ÀÌ ÇÔ¼öÀÇ ±¸ÇöÀ» Ãß°¡Çغ¸µµ·Ï ÇÏÀÚ.
¸ÕÀú Áö±Ý±îÁö ÇØ¿Ô´ø °Í°ú ¸¶Âú°¡Áö·Î PUBLIC:METHOD ¿¤·¹¸ÕÆ® ÅÂ±× ¼±¾ðÀ» ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇØÁØ´Ù.
<PUBLIC:COMPONENT lightWeight="true">
<PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
<PUBLIC:ATTACH event="onfocus" for="element" onevent="evtFocus();" />
<PUBLIC:ATTACH event="onblur" for="element" onevent="evtBlur();" />
<PUBLIC:ATTACH event="onkeydown" for="element" onevent="evtKeydown();" />
<PUBLIC:PROPERTY name="defaultValue" value="0" />
<PUBLIC:METHOD name="setDefaultValue" />
<PUBLIC:METHOD name="isValidate" />
...
|
±×¸®°í ÀÌ ÇÔ¼öÀÇ ½ÇÁúÀûÀÎ ±¸ÇöÀº ´ÙÀ½°ú °°Àºµ¥, ÀÌÁ¦´Â »ó´çÈ÷ Àͼ÷ÇØÁø ÀÛ¾÷ ÆÐÅϰú ÄÚµåÀÏ °ÍÀ̶ó°í »ý°¢ÇÑ´Ù.
±â¼úÀûÀÎ °üÁ¡¿¡¼ º¼ ¶§¿¡µµ ±×´ÙÁö ÁÖ¸ñÇÒ¸¸ÇÑ ºÎºÐÀÌ ¾øÀ¸¹Ç·Î ºÒÇÊ¿äÇÑ ¼³¸íÀº ÇÏÁö ¾Êµµ·Ï ÇϰڴÙ.
ºñ·Ï ³ÃÁ¤ÇÏ°Ô Æò°¡Çغ»´Ù¸é ÀÌ ¹æ¹ýÀÌ ¹®Á¦ ÀÚü¿¡ ´ëÇÑ ÇØ°áÃ¥À̶ó°í º¼ ¼ö´Â ¾ø°ÚÁö¸¸ ³ª¸§´ë·Î ÇϳªÀÇ À¯È¿¼º °ËÁõ ÇÁ·Î¼¼½º¸¦ ¸¸µé¾î³½´Ù´Â Á¡¿¡¼´Â ±àÁ¤ÀûÀ¸·Î ¹Þ¾ÆµéÀÏ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
Âü°í·Î ¾Õ¿¡¼ °£´ÜÇÏ°Ô ¾ð±ÞÇß´ø onchange À̺¥Æ®¸¦ Çîµé¸µÇÏ´Â ¹æ¹ý ´ë½Å onpropertychange À̺¥Æ®¸¦ ÅëÇØ¼ ¿ìȸÀûÀ¸·Î³ª¸¶ ¹®Á¦Á¡À» ÇØ°áÇÏ´Â ¹æ¹ýµµ ÇÊÀÚ ³ª¸§´ë·Î °í¹ÎÇØº¸°í ÀÖÀ¸¹Ç·Î ±× ¼º°ú°¡ ³ª¿À´Â ´ë·Î º»¹®À» °»½ÅÇϵµ·Ï ÇϰڴÙ.
...
function isValidate()
{
if (!checkTagType()) return;
var objRegEx = /^\d+$/ig;
return objRegEx.test(trim(element.value));
}
//-->
</SCRIPT>
</PUBLIC:COMPONENT>
|
´ÙÇེ·´°Ôµµ µÎ ¹øÂ° ¹®Á¦Á¡ÀÇ °æ¿ì¿¡´Â º¸´Ù ±Ùº»ÀûÀÌ°í ¼¼·ÃµÈ ÇØ°á ¹æ¹ýÀÌ Á¸ÀçÇÑ´Ù.
±× Çٽɵµ ¸Å¿ì °£´ÜÇÑ ÆíÀε¥ ¹Ù·Î ÀϹÝÀûÀÎ °´Ã¼ ÁöÇâ ¾ð¾îÀÇ Å¬·¡½º ±¸Á¶¿¡¼ º¸ÆíÀûÀ¸·Î Á¦°øµÇ¾îÁö´Â ÇÁ·ÎÆÛƼ ¸Þ¼µå ¸ÞÄ¿´ÏÁòÀ» HTCs ³»ºÎÀûÀ¸·Î Á¦°øÇØÁÖ´Â °ÍÀÌ´Ù.
ÀÚ¹Ù¿¡¼ÀÇ getter / setter ³ª ºñÁÖ¾ó C# .NET ÀÇ get / set ¼Ó¼º Á¢±ÙÀÚ¸¦ ¸Ó¸®¼Ó¿¡ ¶°¿Ã·Áº¸¸é ÇÊÀÚÀÇ ¾ê±â¸¦ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
µû¶ó¼ µÎ ¹øÂ° ¹®Á¦Á¡À» ÇØ°áÇϱâ À§Çؼ´Â ´ÜÁö HTCs ¿¡¼ Á¦°øµÇ´Â ÇØ´ç ±â´ÉÀ» Ãæ½ÇÈ÷ ±¸ÇöÇϱ⸸ ÇÏ¸é µÈ´Ù.
À̹ø ³íÀÇ´Â °¢°¢ÀÇ °úÁ¤µéÀÌ ´Ü°èº°·Î ¾à°£ º¹ÀâÇϹǷΠ¼µÎ¸£Áö ¸»°í Â÷±ÙÂ÷±Ù µû¶ó¿À±â ¹Ù¶õ´Ù.
¸ÕÀú ´ÙÀ½°ú °°ÀÌ ±âÁ¸¿¡ ÀÛ¼ºÇß´ø defaultValue ¼Ó¼ºÀÇ PUBLIC:PROPERTY ¿¤·¹¸ÕÆ® ű׿¡ »õ·Î¿î µÎ °³ÀÇ ¼Ó¼º, get °ú put À» Ãß°¡Çغ¸ÀÚ.
<PUBLIC:PROPERTY get="getDefaultValue" put="putDefaultValue" name="defaultValue" ...
|
À̰͸¸À¸·Î ¿¤·¹¸ÕÆ® ű×ÀÇ º¯°æÀÌ ´Ù ¸¶¹«¸® µÈ °ÍÀº ¾Æ´Ï°í °è¼ÓÇØ¼ Ãß°¡ÀûÀÎ ÀÛ¾÷ÀÌ ´õ ÀÌ·ç¾îÁ®¾ß¸¸ µÇ¹Ç·Î Àá½Ã ÀÌ Á¡À» ¿°µÎ¿¡ µÎ°í Àֱ⠹ٶõ´Ù.
ÀÏ´Ü Áö±ÝÀº °è¼ÓÇØ¼ ´ÙÀ½ ´Ü°è¸¦ ÁøÇàÇϵµ·Ï ÇϰڴÙ.
¾î·°Å³ª ÀÌ ¼Ó¼ºµéÀÌ ÀǹÌÇÏ´Â ¹Ù´Â Áö±ØÈ÷ °£´Ü¸í·áÇÏ´Ù.
±¸Ã¼ÀûÀ¸·Î ¸»Çؼ get ¼Ó¼º¿¡´Â defaultValue ÇÁ·ÎÆÛƼÀÇ °ªÀÌ ¸®Å쵃 ¶§ È£ÃâµÇ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼öÀÇ À̸§À» ¼³Á¤Çϰí, ¹Ý´ë·Î put ¼Ó¼º¿¡´Â defaultValue ÇÁ·ÎÆÛƼ¿¡ °ªÀ» ¼³Á¤ÇÒ ¶§ È£ÃâµÇ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼öÀÇ À̸§À» ¼³Á¤ÇÏ¸é µÇ´Â °ÍÀÌ´Ù.
±×¸®°í ¹°·Ð Áö±ØÈ÷ ´ç¿¬ÇÑ ¾ê±â°ÚÁö¸¸ ÀÌ µÎ °¡Áö ¼Ó¼º¿¡ ÁöÁ¤µÈ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼öµéÀº º°µµ·Î ±¸ÇöÇÏ¿© HTCs ¿¡ Ãß°¡ÇØÁÖ¾î¾ß¸¸ ÇÑ´Ù.
À̸¦Å×¸é ´ÙÀ½ÀÇ µÎ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö´Â ±× ±¸Çö °á°úÀÇ ÇÑ »ç·Ê´Ù.
function getDefaultValue()
{
return defaultValue;
}
function putDefaultValue(value)
{
if (!checkTagType()) return;
var objRegEx = /^\d+$/ig;
if (objRegEx.test(value))
defaultValue = value;
else
defaultValue = 0;
}
|
ÀÌÁ¦ ÀÌ·± ÆÐÅÏÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå´Â °ÅÀÇ ¿Ü¿ì´Ù½ÃÇÇ ÇßÀ» ÅÍÀ̹ǷΠ¹«ÀǹÌÇÑ ÄÚµå ¼³¸íÀº ÇÇÇϵµ·Ï ÇϰڴÙ.
¾Æ¹«Æ° °á°úÀûÀ¸·Î ÀÌÁ¦ ¿ì¸®µéÀÌ ¿øÇÏÁö ¾Ê´Â ±âº»°ªÀÌ ¼³Á¤µÇ´Â »çÅ´ °ÅÀÇ ¿Ïº®ÇÏ°Ô ÇÇÇÒ ¼ö ÀÖ°Ô µÈ °ÍÀ¸·Î º¸ÀδÙ.
±×·¯³ª °ú¿¬ Á¤¸»·Î ±×·± °ÍÀϱî?
ÇöÀç±îÁö ÀÛ¾÷ÇÑ °á°ú¸¦ ÀúÀåÇÏ°í ½ÇÁ¦·Î Å×½ºÆ®¸¦ ÇØº¸¸é ½ºÅà ¿À¹öÇÃ·Î¿ì ¿À·ù°¡ ¹ß»ýÇÑ´Ù.
±×·¸´Ù¸é ±× ¿øÀÎÀº ¹«¾ùÀϱî?
Áö±Ý±îÁö ¿ì¸®µéÀÌ ÀÛ¼ºÇÑ Äڵ带 °¡¸¸È÷ »ìÆìº»´Ù¸é ¾Æ¸¶µµ ±× ÀÌÀ¯¸¦ ½±°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ºùºù µ¹¸®Áö ¾Ê°í ´ÜµµÁ÷ÀÔÀûÀ¸·Î ¹®Á¦Á¡À» ¾ê±âÇÏÀÚ¸é ¿À·ù°¡ ¹ß»ýÇÏ´Â ¿øÀÎÀº defaultValue ÇÁ·ÎÆÛƼÀÇ ³»ºÎ º¯¼ö°¡ ±× ¾îµð¿¡µµ ¼±¾ðµÇÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.
Áï ÀÌ µÎ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö ³»ºÎ¿¡¼´Â defaultValue ÇÁ·ÎÆÛƼÀÇ °ªÀ» ¼³Á¤Çϰųª ¸®ÅÏÇÏ´Â ÀÛ¾÷ÀÌ Ã³¸®µÇ´Âµ¥, ¿ª¼³ÀûÀ¸·Î ÀÌ µÎ ÇÔ¼ö°¡ È£ÃâµÇ´Â ½ÃÁ¡ ÀÚü°¡ ¹Ù·Î defaultValue ÇÁ·ÎÆÛƼÀÇ °ªÀ» ¼³Á¤Çϰųª ¸®ÅÏÇϰíÀÚ ½ÃµµµÇ¾îÁö´Â °æ¿ìÀ̱⠶§¹®ÀÌ´Ù.
µû¶ó¼ ÀÚ¿¬½º·´°Ô ¹«ÇÑ ·çÇÁ°¡ ¹ß»ýµÇ¸ç ±× °á°ú·Î ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ÇÔ¼ö È£Ãâ ½ºÅþּ ¿À¹ö Ç÷ο찡 ¹ß»ýµÇ´Â °ÍÀÌ´Ù.
ÀÌ ¿À·ù¸¦ Á¦°ÅÇÏ´Â ¹æ¹ýÀº °£´ÜÇÏ´Ù.
´ÙÀ½°ú °°ÀÌ ÀÌ ÇÁ·ÎÆÛƼÀÇ °ªÀ» ´ãÀ» Àü¿ª º¯¼ö¸¦ Çϳª ¼±¾ðÇØÁÖ°í ±âº»°ªÀ» ÃʱâÈÇØÁÖ¸é µÇ´Â °ÍÀÌ´Ù.
...
<SCRIPT language="javascript" type="text/javascript">
<!--
var defaultValue = 0;
...
|
ÀÌ Àü¿ª º¯¼öÀÇ À̸§°ú ÇÁ·ÎÆÛƼÀÇ À̸§ÀÌ µ¿ÀÏÇÏ´Ù´Â Á¡¿¡ ÁÖÀÇÇϱ⠹ٶõ´Ù.
ºñ·Ï ÀÌ·¯ÇÑ Æ¯Â¡ÀÌ ÇÁ·ÎÆÛƼ ³»ºÎ º¯¼ö¸¦ ¼±¾ðÇϱâ À§ÇØ ¹Ýµå½Ã ÇÊ¿äÇÑ °Á¦ÀûÀÎ ·êÀº ¾Æ´ÏÁö¸¸, ±âŸ ºÎ°¡ÀûÀÎ ÀÛ¾÷¾øÀÌ °£´ÜÇÏ°Ô Àü¿ª º¯¼ö¸¦ ¼±¾ðÇϱâ À§Çؼ´Â Àü¿ª º¯¼öÀÇ À̸§°ú ÇÁ·ÎÆÛƼÀÇ À̸§ÀÌ µ¿ÀÏÇØ¾ß¸¸ ÇÑ´Ù.
¸¸¾à ÇÁ·ÎÆÛƼ ÀÚüÀÇ À̸§°ú Àü¿ª º¯¼öÀÇ À̸§ÀÌ °°¾Æ¼ Äڵ尡 Àü¹ÝÀûÀ¸·Î È¥¶õ½º·´°Ô ´À²¸Áø´Ù¸é ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Àü¿ª º¯¼öÀÇ À̸§À» Á÷Á¢ ÁöÁ¤ÇØÁÖ´Â °Íµµ ¹°·Ð °¡´ÉÇÏ´Ù.
¸ÕÀú ÇØ´ç ÇÁ·ÎÆÛƼÀÇ PUBLIC:PROPERTY ¿¤·¹¸ÕÆ® ű׿¡ ´ÙÀ½°ú °°ÀÌ internalname ¼Ó¼ºÀ» Ãß°¡ÇÏ°í ±× °ªÀ¸·Î´Â ÇÁ·ÎÆÛƼÀÇ °ªÀ» ´ã°íÀÚÇÏ´Â Àü¿ª º¯¼öÀÇ À̸§À» ÀÔ·ÂÇØÁØ´Ù.
±×¸®°í ¾Õ¿¡¼ ¼±¾ðÇß´ø °Í°ú µ¿ÀÏÇÏ°Ô ÀÌ À̸§À¸·Î Àü¿ª º¯¼ö¸¦ ¼±¾ðÇØÁÖ¸é µÈ´Ù.
<PUBLIC:PROPERTY ... name="defaultValue" internalname="_defaultValue" value="0" />
|
°á°úÀûÀ¸·Î ¹æ±Ý ±¸ÇöÇß´ø ÇÁ·ÎÆÛƼ ¸Þ¼µå ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö¿¡¼ »ç¿ëµÈ Àü¿ª º¯¼öÀÇ À̸§µµ ÀÌ¿¡ ¸ÂÃß¾î º¯°æµÇ¾î¾ß ÇÑ´Ù.
±×¸®°í Áö±Ý±îÁö ÇÁ·ÎÆÛƼÀÇ ±âº»°ª ¼³Á¤À» À§ÇØ »ç¿ëµÇ¾ú´ø PUBLIC:PROPERTY ¿¤·¹¸ÕÆ® ű×ÀÇ value ¼Ó¼ºÀº ÀÌÁ¦ ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾ÊÀ¸¹Ç·Î »èÁ¦ÇÑ´Ù.
´ë½Å Áö±ÝºÎÅÍ´Â Àü¿ª º¯¼öÀÇ ÃʱⰪÀÌ ±× ±â´ÉÀ» ´ë½ÅÇÏ°Ô µÈ´Ù.
´ÙÀ½ÀÇ ¿¹Á¦´Â ÀÌ·¸°Ô ¼öÁ¤µÈ HTCs °¡ ¿Ã¹Ù¸£Áö ¾ÊÀº ÇÁ·ÎÆÛƼ°ª ¼³Á¤ ½Ãµµ¸¦ º¸Á¤ÇÏ´Â ¸ð½ÀÀ» º¸¿©ÁÖ°í ÀÖ´Ù.
¶ÇÇÑ Áö±Ý ³íÀÇÇÑ ÀÌ internalname ¼Ó¼ºÀº PUBLIC:METHOD ¿¤·¹¸ÕÆ® ű׸¦ ´ë»óÀ¸·Îµµ µ¿ÀÏÇÑ ¿µÇâ·ÂÀ» ¹ßÈÖÇÏ¿© ³»ºÎ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼öÀÇ À̸§°ú ¿ÜºÎ·Î ³ëÃâµÇ´Â HTCs ¸Þ¼µåÀÇ À̸§À» ´Ù¸£°Ô ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î Âü°íÇϱ⠹ٶõ´Ù.
<input type="text" id="HTCs3" style="behavior: url(asp_0017_03.htc);" defaultValue="ABC">
|
À̹ø¿¡´Â ³íÀÇÀÇ °¢µµ¸¦ Á¶±Ý ´Þ¸®Çغ¸µµ·Ï ÇÏÀÚ.
Áö±Ý±îÁö ¿ì¸®µéÀÌ ´Ù·ç¾î¿Ô´ø ³»¿ë ´ëºÎºÐÀÌ ÇÁ·ÎÆÛƼ¿Í ¸Þ¼µå¿¡ °üÇÑ °ÍÀ̾ú´Ù´Â Á¡À» °¨¾ÈÇØº»´Ù¸é ±× ´ÙÀ½ ´Ü°è·Î¼ ÀÚ¿¬½º·´°Ô À̺¥Æ®¿¡±îÁö »ý°¢ÀÌ ¹ÌÄ¡°Ô µÉ °ÍÀÌ´Ù.
»ó½ÄÀûÀ¸·Î ¸Þ¼µå¿Í ÇÁ·ÎÆÛƼ¿¡ ´ëÇÑ ±â¹Ý ±¸Á¶¸¦ Á¦°øÇØÁÖ´Â HTCs °¡ À̺¥Æ®¿¡ ´ëÇÑ ±â¹Ý ±¸Á¶¸¸ Á¦°øÇØÁÖÁö ¾ÊÀ» ÀÌÀ¯´Â ¾ø´Ù.
¿ÀÈ÷·Á À̺¥Æ®¿¡ ´ëÇÑ ±â¹Ý ±¸Á¶¸¦ Á¦°øÇØÁÙ »Ó¸¸ ¾Æ´Ï¶ó ÀϹÝÀûÀÎ DHTML ÀÇ À̺¥Æ® ¸ðµ¨°ú À¯±âÀûÀ¸·Î Àß °áÇÕµÈ ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇØÁֹǷΠÃß°¡ÀûÀÎ ³ë·Â ¾øÀ̵µ »ó´çÈ÷ °íǰÁúÀÇ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Â °ÍÀÌ´Ù.
±×·¯¸é Áö±Ý±îÁö ±¸ÇöµÈ HTCs ¿¡ »ç¿ëÀÚ°¡ ¿Ã¹Ù¸£Áö ¾ÊÀº Çü½ÄÀÇ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ´Â °æ¿ì ¿ì¸®µéÀÌ ±¸ÇöÇÑ »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®°¡ ¹ß»ýÇϵµ·Ï Äڵ带 Ãß°¡Çغ¸ÀÚ.
¸ÕÀú »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®ÀÇ À̸§Àº onIncongruent ¶ó°í Çϱâ·Î ÇÏ¸ç µ¿ÀÏÇÑ À̸§À¸·Î ű×ÀÇ ¼Ó¼º¿¡ ³ëÃâµÇ¾îÁú °ÍÀÌ´Ù.
¸¸¾à »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®ÀÇ À̸§ÀÌ HTML ű׿¡ Á¸ÀçÇÏ´Â ±âº» À̺¥Æ®ÀÇ À̸§°ú µ¿ÀÏÇÏ´Ù¸é ±× µ¿ÀÛ Æ¯¼ºÀÌ »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®¿¡ ÀÇÇØ¼ µ¤¾î¾º¿öÁö¹Ç·Î Âü°í¹Ù¶õ´Ù.
´ÙÀ½°ú °°ÀÌ PUBLIC:EVENT ¿¤·¹¸ÕÆ® ű׸¦ ¼±¾ðÀ» Ãß°¡ÇÑ´Ù.
<PUBLIC:EVENT name="onIncongruent" id="_Incongruent" />
|
Áö±Ý±îÁö »ìÆìº¸¾Ò´ø ÇÁ·ÎÆÛƼ³ª ¸Þ¼µå¸¦ À§ÇÑ ¿¤·¹¸ÕÆ® ÅÂ±× ¼±¾ð°ú´Â ´Ù¸£°Ô À̺¥Æ®¸¦ À§ÇÑ ¿¤·¹¸ÕÆ® ÅÂ±× ¼±¾ðÀÇ °æ¿ì¿¡´Â ¹Ýµå½Ã id ¼Ó¼ºÀÌ ¼³Á¤µÇ¾î¾ß¸¸ Çϴµ¥ ±× ±¸Ã¼ÀûÀÎ ÀÌÀ¯´Â Àá½Ã µÚ¿¡ ¼³¸íÇϵµ·Ï ÇÒ °ÍÀÌ´Ù.
´ÙÀ½ ÀÛ¾÷À¸·Î´Â ÀÌ »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®¸¦ ¹ß»ý½Ã۱â À§ÇÑ ¸ñÀûÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö¸¦ Çϳª ¸¸µé¾î ÁÖ¾î¾ß ÇÑ´Ù.
»ç¿ëÀÚ Á¤ÀÇ À̺¥Æ® ÀÚü¸¦ ¹ß»ý½Ã۱â À§Çؼ ¹Ýµå½Ã º°µµÀÇ ÇÔ¼ö¸¦ Á¤ÀÇÇØ¾ß¸¸ ÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸ event °³Ã¼¸¦ »ý¼ºÇϰí ÇÊ¿äÇÑ ¼Ó¼º°ªµéÀ» ÀûÀýÇÏ°Ô ¼³Á¤ÇÏ´Â µîÀÇ ¹Ýº¹ÀûÀÎ ÀÛ¾÷À» È¿°úÀûÀ¸·Î ó¸®Çϱâ À§Çؼ´Â ÀÌó·³ À¯Æ¿¸®Æ¼ ÇÔ¼ö¸¦ Çϳª ¸¸µé¾îÁÖ´Â °Íµµ ÁÁÀº ¹æ¹ýÀÏ °ÍÀÌ´Ù.
´ÙÀ½ ÇÔ¼ö¸¦ »ìÆìº¸ÀÚ.
...
function fireIncongruent(Value)
{
objEvent = createEventObject();
if (Value != null)
objEvent.returnValue = Value;
_Incongruent.fire(objEvent);
}
//-->
</SCRIPT>
|
ÀÌ ÇÔ¼ö¿¡´Â ÁÖÀÇ ±í°Ô »ìÆìº¼¸¸ÇÑ ³»¿ëµéÀÌ ¸î °¡Áö Á¸ÀçÇÑ´Ù.
°¡Àå ¸ÕÀú ¤¾îºÁ¾ßµÉ ºÎºÐÀº ÇÔ¼öÀÇ °¡Àå ¸¶Áö¸· ¶óÀÎÀ¸·Î¼, ¹«¾ù ¶§¹®¿¡ PUBLIC:EVENT ¿¤·¹¸ÕÆ® ű׸¦ ¼±¾ðÇÏ¸é¼ ¹Ýµå½Ã id ¼Ó¼ºÀ» ¼³Á¤Çؾ߸¸ ÇÏ´ÂÁö¿¡ ´ëÇÑ ÀÌÀ¯°¡ Àß µå·¯³ª ÀÖ´Ù.
»ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®¸¦ ¹ß»ý½ÃŰ´Â ½ÇÁúÀûÀÎ ¿ªÈ°À» ´ã´çÇÏ´Â fire() ¸Þ¼µå¸¦ È£ÃâÇϱâ À§Çؼ´Â ÇØ´ç À̺¥Æ®ÀÇ ½Äº°ÀÚ ¿ªÈ°À» ´ã´çÇÏ´Â id ¼Ó¼ºÀÌ ÇÊ¿äÇÑ °ÍÀÌ´Ù.
±×¸®°í fire() ¸Þ¼µå¿¡´Â ÀÎÀÚ·Î event °³Ã¼ÀÇ ÀνºÅϽº¸¦ »ý¼ºÇÏ¿© Àü´ÞÇØ¾ß¸¸ Çϴµ¥, ¿©±â¿¡¼ ¾ê±âÇϰí ÀÖ´Â event °³Ã¼´Â ÀϹÝÀûÀÎ DHMTL ÇÁ·Î±×·¡¹Ö¿¡¼ »ç¿ëµÇ´Â ¹Ù·Î ±× event °³Ã¼¿Í Á¤È®ÇÏ°Ô °°Àº °³Ã¼¸¦ ÀǹÌÇÏ´Â °ÍÀ¸·Î, À§ÀÇ ÇÔ¼öÀÇ Ã¹ ¹øÂ° ¶óÀο¡¼ ã¾Æº¼ ¼ö ÀÖ´Â createEventObject() ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© ±× ÀνºÅϽº¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù.
º¸Åë event °³Ã¼·ÎºÎÅÍ Á¦°øµÇ´Â ´ëºÎºÐÀÇ Á¤º¸µé, Áï ¸¶¿ì½º ¹öư Á¤º¸³ª Űº¸µå Á¤º¸, ÁÂÇ¥ Á¤º¸ µîÀ» ´ã°í ÀÖ´Â ¼Ó¼ºµéÀº Àбâ Àü¿ëÀÌÁö¸¸, Áö±Ý°ú °°ÀÌ createEventObject() ¸Þ¼µå¸¦ ÅëÇØ¼ ÀνºÅϽº°¡ »ý¼ºµÈ °æ¿ì¿¡´Â ¸ðµç ¼Ó¼º°ªÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
µû¶ó¼ °³¹ßÀÚµéÀÌ ±× °ªÀ» ÀÚÀ¯·Ó°Ô ¼³Á¤ÇÒ ¼ö Àִµ¥ ÀÌ´Â ½Ç·Î ´ë´ÜÇÑ ÀåÁ¡À̶ó°í Æò°¡ÇÒ ¼ö ÀÖÀ¸¸ç, º»¹®¿¡¼´Â ÇϳªÀÇ °£´ÜÇÑ ¿¹·Î returnValue ¼Ó¼º°ªÀ» ¼³Á¤ÇÏ´Â °æ¿ì¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.
Âü°í·Î ÀÌ ¸Þ¼µå´Â HTCs ¿¡¼¸¸ »ç¿ëÀÌ °¡´ÉÇÑ °ÍÀº ¾Æ´Ï°í document °³Ã¼¿¡¼µµ µ¿ÀÏÇÑ ±â´ÉÀ» Á¦°øÇØÁÖ´Â ¸Þ¼µå¸¦ °°Àº À̸§À¸·Î Áö¿øÇØÁֹǷΠÀÌ ºÎºÐ¿¡ °ü½ÉÀÌ ÀÖÀ¸½Å ºÐµéÀº MSDN À» »ìÆìº¸±â ¹Ù¶õ´Ù.
ÀÌÁ¦ ÀÌ ÇÔ¼ö¸¦ ÀûÀýÇÑ À§Ä¡¿¡¼ È£ÃâÇØÁֱ⸸ ÇÏ¸é »ç¿ëÀÚ Á¤ÀÇ À̺¥µå°¡ À̺¥Æ®°¡ ¹ß»ýµÈ´Ù.
´ÙÀ½ ÄÚµå´Â onblur À̺¥Æ®ÀÇ HTCs À̺¥Æ® Çîµé·¯·Î ±¸ÇöµÈ evtBlur() ÇÔ¼ö¸¦ ¼öÁ¤ÇÑ °á°úÀÌ´Ù.
...
function evtBlur()
{
if (!checkTagType()) return;
var objRegEx = /^\d+$/ig;
if (!objRegEx.test(trim(element.value)))
{
element.value = defaultValue;
fireIncongruent("Incongruent Data!");
}
}
...
|
±×¸®°í ´ÙÀ½Àº Áö±Ý±îÁö ±¸ÇöµÈ ¸ðµç ÄÚµåµéÀÌ ¹Ý¿µµÈ HTCs °¡ Àû¿ëµÈ ÃÖÁ¾ °á°ú¹°ÀÌ´Ù.
¼ýÀÚ°¡ ¾Æ´Ñ ÀÓÀÇÀÇ ¹®ÀÚ¿À» º¹»çÇÏ¿© ºÙ¿©³Ö±â·Î ÀԷ°ªÀ» º¯°æÇغ¸¸é À̺¥Æ®°¡ ¹ß»ýÇÏ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
±×¸®°í ÇÑ °¡Áö ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº ÀÌ¿Í °°ÀÌ HTCs ¼öÁØ¿¡¼ ±¸ÇöµÈ »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®´Â ±âº»ÀûÀ¸·Î ¹öºí¸µÀÌ µÇÁö ¾Ê´Â´Ù´Â »ç½ÇÀÌ´Ù.
±¸Ã¼ÀûÀÎ ½Ç·Ê·Î ¾Æ·¡ÀÇ Äڵ忡¼ SPAN ű׿¡ Á¤ÀÇµÈ onIncongruent À̺¥Æ® Çîµé·¯ÀÇ ÄÚµå´Â ÀüÇô µ¿ÀÛÇÏÁö ¾Ê´Âµ¥ Àá½Ã¸¸ °õ°õÈ÷ »ý°¢Çغ¸¸é ¸Å¿ì ´ç¿¬ÇÑ ÀÏÀ̶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.
<span onIncongruent="alert('Event from SPAN Tag.');">
<input type="text" id="HTCs4" onIncongruent="alert(event.returnValue);" style=" ... >
</span>
|
Áö±Ý±îÁö ¿ì¸®µéÀº HTCs ÀÇ ÇÁ·ÎÆÛƼ³ª ¸Þ¼µå, ±×¸®°í À̺¥Æ®¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý°ú °ü·ÃµÈ ¿©·¯°¡Áö ±â¹ýµé¿¡ °üÇØ¼ »ìÆìº¸¾Ò´Ù.
±×·¸´Ù¸é À̹ø¿¡´Â HTCs ÀÚüÀÇ Àü¹ÝÀûÀÎ µ¿ÀÛ Æ¯¼ºÀ» Á¦¾îÇÏ´Â ¹æ¹ý¿¡ °üÇØ¼ »ìÆìº¸µµ·Ï ÇÏÀÚ.
ÀÌ¿Í °ü·ÃµÈ ¿¤·¹¸ÕÆ® ű״ µÎ °¡Áö·Î, ÀÌ¹Ì ¾Õ¿¡¼ Àá½Ã »ìÆìº¸¾Ò´ø HTCs ÀÚü¸¦ Á¤ÀÇÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Â PUBLIC:COMPONENT ¿¤·¹¸ÕÆ® ÅÂ±×¿Í Áö±Ý óÀ½À¸·Î ³íÀǵǾîÁö´Â PUBLIC:DEFAULTS ¿¤·¹¸ÕÆ® űװ¡ ¹Ù·Î ±×°ÍÀÌ´Ù.
±×·±µ¥ ÇÊÀÚ°¡ ¸»ÇØ ³õ°í¼µµ ¹«¾ÈÇϱâ´Â ÇÏÁö¸¸ ³ÃÁ¤ÇÏ°Ô Æò°¡ÇØ º¼ ¶§ ¿ì¸®µéÀÌ ÀÌ µÎ ¿¤·¹¸ÕÆ® ű׸¦ °¡Áö°í¼ ó¸®ÇÒ ¼ö ÀÖ´Â ÀÛ¾÷Àº ÇöÀç ½ÃÁ¡¿¡¼´Â ±×´ÙÁö ¸¹Áö°¡ ¾Ê´Ù.
¿Ö³ÄÇϸé Áö±Ý±îÁö ¿ì¸®µéÀÌ ³íÀÇÇØ¿Â ´ëºÎºÐÀÇ ³»¿ëµéÀÌ Attached Behavior ¿¡ °üÇÑ °ÍÀÓ¿¡ ¹ÝÇÏ¿© ¾Õ¿¡¼ ¸»ÇÑ µÎ ¿¤·¹¸ÕÆ® űװ¡ Á¦°øÇÏ´Â ´ëºÎºÐÀÇ ±â´ÉµéÀº Element Behavior ¿Í °ü·ÃµÈ °ÍµéÀ̱⠶§¹®ÀÌ´Ù.
±×·± ÀÌÀ¯·Î º»¹®¿¡¼´Â Áö±Ý±îÁöÀÇ ³íÀÇ¿Í °ü·ÃµÈ ±ØÈ÷ ÀϺÎÀÇ ±â´Éµé¿¡ ´ëÇØ¼¸¸ »ìÆìº¼ »ý°¢À̸ç PUBLIC:DEFAULTS ¿¤·¹¸ÕÆ® ű״ ¾Æ¿¹ °Å·ÐÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
´ÙÀ½Àº ¿ì¸®µéÀÌ ÀÛ¼ºÇÑ HTCs ÄÚµåÀÇ PUBLIC:DEFAULTS ¿¤·¹¸ÕÆ® ÅÂ±× ¼±¾ðÀ¸·Î¼ Áö±Ý±îÁö º°´Ù¸¥ ¼³¸í¾øÀÌ ÀϰýÀûÀ¸·Î »ç¿ëÇØ¿Â ºÎºÐÀÌ´Ù.
¹«Ã´À̳ª ½ÉÇÃÇÑ ±¸Á¶¸¦ °¡Áö°í ÀÖÀ¸¸ç ºÓÀº»öÀ¸·Î °Á¶µÈ ºÎºÐÀ» »ìÆìº¸¸é lightWeight ¶ó´Â ¼Ó¼ºÀÇ °ªÀÌ true ·Î ¼³Á¤µÇ¾ú´Ù´Â »ç½ÇÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ lightWeight ¼Ó¼ºÀÌ °®°í ÀÖ´Â Àǹ̴ ¸Å¿ì °£´ÜÇÏ´Ù.
Áï ÀÌ HTCs °¡ ³»ºÎ¿¡ ¸¶Å©¾÷, Áï ·»´õ¸µ µÇ¾î¾ß ÇÒ HTML ű׸¦ °¡Áö°í ÀÖ´ÂÁö ¿©ºÎ¸¦ ³ªÅ¸³½´Ù.
<PUBLIC:COMPONENT lightWeight="true" />
...
</PUBLIC:COMPONENT>
|
·»´õ¸µÀÇ °üÁ¡¿¡¼ º¼ ¶§ Áö±Ý°ú °°ÀÌ HTCs ³»ºÎ¿¡ ±× ¾î¶°ÇÑ HTML ű׵µ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é HTML űװ¡ Á¸ÀçÇÏ´Â °æ¿ì¿¡ ºñÇÏ¿© »ó´ëÀûÀ¸·Î °¡º±´Ù°í (lightWeight) ÆÇ´ÜÇÒ ¼ö ÀÖÀ¸¹Ç·Î ±× °ªÀº true ·Î ÁöÁ¤µÈ´Ù.
±×¸®°í ÀÌ °æ¿ì ·»´õ¸µ ÇÁ·Î¼¼½º ÀÚü°¡ ÇÊ¿ä¾ø´Ù´Â Àǹ̷Π¹Þ¾Æµé¿©Á® ÆÛÆ÷¸Õ½ºÀÇ Çâ»óÀ» ±â´ëÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù.
±×·±µ¥ ¿©±â¿¡¼ ¹Ýº¹ÀûÀ¸·Î ¸»Çϰí ÀÖ´Â
'HTCs ÀÇ ³»ºÎ¿¡ Á¸ÀçÇÏ´Â HTML ű×' ¶ó´Â ¹®ÀåÀÇ Àǹ̸¦ ¿ÀÇØÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.
HTCs ÀÇ Á¾·ù¿¡´Â Å©°Ô Attached Behavior ¿Í Element Behavior ¶ó´Â µÎ °¡Áö ¹üÁÖ°¡ Á¸ÀçÇÑ´Ù´Â »ç½ÇÀº ÀÌ¹Ì Áö³¹ø ±Û¿¡¼ °£·«ÇÏ°Ô ¼³¸íÇÑ ¹Ù ÀÖ´Ù.
ÀÌ µÎ Á¾·ùÀÇ HTCs °£ÀÇ °áÁ¤ÀûÀÎ Â÷ÀÌÁ¡Àº »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º°¡ Á¸ÀçÇÏ´ÂÁö ¶Ç´Â Á¸ÀçÇÏÁö ¾Ê´ÂÁö ¿©ºÎÀ̰í Áö±Ý ¿ì¸®µéÀº »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º°¡ Á¸ÀçÇÏÁö ¾Ê´Â Attached Behavior ¸¦ ÁßÁ¡ÀûÀ¸·Î ³íÀÇÇϰí ÀÖ´Â °úÁ¤Áß¿¡ ÀÖ´Ù.
¾Õ¿¡¼ ¸»Çϰí ÀÖ´Â 'HTCs ÀÇ ³»ºÎ¿¡ Á¸ÀçÇÏ´Â HTML ű×' ¶õ ¹Ù·Î Element Behavior ¿¡¼ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ±¸¼ºÇÏ´Â HTML ű׵éÀ» ¶æÇÏ´Â °ÍÀÌ´Ù.
±×·¯¹Ç·Î ÀÌ·± Á¾·ùÀÇ HTML űװ¡ ÀüÇô Á¸ÀçÇÏÁö ¾Ê´Â ¿ì¸®µéÀÇ HTCs ¿¡¼´Â, ºñ·Ï ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµåÀÇ ³»ºÎ¿¡´Â HTML ű×ÀÇ Æí¸°µéÀÌ Æ÷ÇԵǾî ÀÖ´Ù°í ÇÒÁö¶óµµ lightWeight ¼Ó¼º°ªÀ» true ·Î ¼³Á¤ÇÏ¿© ÆÛÆ÷¸Õ½ºÀÇ Çâ»óÀ» ±â´ëÇÒ ¼ö ÀÖ´Ù.
Âü°í·Î ÀÌ ¼Ó¼ºÀÇ ±âº»°ªÀº false ÀÌ´Ù.
¸¶Áö¸·À¸·Î ÀÌ·± °æ¿ì¸¦ ÇÑ ¹ø °¡Á¤Çغ¸µµ·Ï ÇÏÀÚ.
ÀÓÀÇÀÇ HTML űװ¡ Á¸ÀçÇϰí ÀÖ´Ù.
±×·±µ¥ ÀÌ Å±׿¡´Â µÎ °¡Áö HTCs °¡ µ¿½Ã¿¡ ¼³Á¤µÇ¾î ÀÖ´Ù°í »ý°¢Çغ¸ÀÚ.
±×¸®°í °ø±³·Ó°Ôµµ µÎ HTCs ¿¡¼ ¸ðµÎ MyFunction À̶ó´Â ¸Þ¼µå¸¦ Á¤ÀÇÇϰí ÀÖ´Ù¸é, ±×¸®°í ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ ÇØ´ç ¸Þ¼µå¸¦ È£ÃâÇÑ´Ù¸é ¾î¶»°Ô µÉ±î?
´Ü¼øÇÏ°Ô ¸Ó¸®¼ÓÀ¸·Î¸¸ »ý°¢ÇغÁµµ ¹º°¡ ¹®Á¦°¡ ¹ß»ýÇÒ °ÍÀ̶ó´Â »ç½ÇÀ» ÁüÀÛÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÇÊÀÚ°¡ Å×½ºÆ® ÇØ º» ¹Ù¿¡ µû¸£¸é ÀÌ¿Í °°Àº °æ¿ì ¸í½ÃÀûÀÎ ¿À·ù°¡ ¹ß»ýÇÏÁö´Â ¾ÊÁö¸¸ µÎ °³ÀÇ HTCs Áß¿¡¼ ¼ø¼ÀûÀ¸·Î ¸ÕÀú ¼³Á¤µÈ HTCs ÀÇ ¸Þ¼µå¸¸ÀÌ ½ÇÇàµÈ´Ù.
µû¶ó¼ °¢°¢ÀÇ HTCs ¸¦ ±¸ºÐÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¾î¶² ¹æ¹ýÀÌ Á¦°øµÇ¾î¾ßÁö¸¸ °³¹ßÀÚ°¡ ¿øÇÏ´Â ¸Þ¼µå¸¦ Á¤È®ÇÏ°Ô Áö½ÃÇÏ¿© È£ÃâÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ ¸ñÀûÀ¸·Î »ç¿ëµÇ´Â ¼Ó¼ºÀÌ ¹Ù·Î name ¼Ó¼ºÀÌ´Ù.
´ÙÀ½ÀÇ Äڵ带 »ìÆìº¸ÀÚ.
<PUBLIC:COMPONENT lightWeight="true" name="NumericOnly" />
...
</PUBLIC:COMPONENT>
|
ÀÌÁ¦ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºµÉ ¼ö ÀÖ´Ù.
¹°·Ð ÇØ´ç ű׿¡ ´Ü ÇϳªÀÇ HTCs ¸¸ ¼³Á¤µÇ¾î ÀÖ´Ù¸é name ¼Ó¼ºÀÇ ÁöÁ¤ ¿©ºÎ¿Í´Â °ü°è¾øÀÌ Áö±Ý±îÁö ±âÁ¸°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ¸Þ¼µå¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.
±×¸®°í ÀÌ·¯ÇÑ Æ¯¼ºÀº ÇÁ·ÎÆÛƼ¿¡µµ µ¿ÀÏÇÏ°Ô Àû¿ëµÇ¹Ç·Î Âü°íÇϱ⠹ٶõ´Ù.
<input type="text" id="HTCs5" style="behavior: url(asp_0017_05.htc);">
<SCRIPT language="javascript" type="text/javascript">
<!--
document.getElementById("HTCs5").NumericOnly.setDefaultValue("0000");
//-->
</SCRIPT>
|
Áö±Ý±îÁö ¿ì¸®µéÀÌ ³íÀÇÇß´ø ³»¿ëµéÀÌ HTCs ¸¦ º¸´Ù È¿°úÀûÀ¸·Î »ç¿ëÇϱâ À§ÇØ ¿ä±¸µÇ¾îÁö´Â °¡Àå ±âÃÊÀûÀÎ »çÇ×µéÀ̾ú´Ù¸é
Áö±ÝºÎÅÍ »ìÆìº¸°íÀÚ ÇÏ´Â ³»¿ëµéÀº HTCs ÀÇ ÀáÀç·ÂÀ» ±Ø´ëȽÃų ¼ö ÀÖ´Â ÀÀ¿ë ¹æ¹ý¿¡ °üÇÑ °ÍÀÌ´Ù.
ÀÌ¿Í °ü·ÃÇÏ¿© ¿©·¯°¡Áö Èï¹Ì·Î¿î »ç·ÊµéÀÌ ÀÖÀ» ¼ö ÀÖ°ÚÁö¸¸ ±× Áß¿¡¼µµ ÇÊÀÚ°¡ °³ÀÎÀûÀ¸·Î ¸¹Àº °ü½ÉÀ» °¡Áö°í ÀÖ´Â ¿µ¿ªÀº º»¹®ÀÇ ¼µÎ¿¡¼ °£´ÜÇÏ°Ô ¾ð±ÞÇÑ ¹Ù¿Í °°ÀÌ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ°ú ¿¬µ¿ÇÏ¿© ¸ðµç ȤÀº °ÅÀÇ ´ëºÎºÐÀÇ Å¬¶óÀÌ¾ðÆ® »çÀÌµå ½ºÅ©¸³Æ®¸¦ HTCs ·Î ´ëüÇÏ´Â ±â¹ýÀÌ´Ù.
±×µ¿¾È ¾÷¹«ÀÇ ÀÏȯÀ¸·Î¼, ¶Ç´Â ÇнÀÀ» ¸ñÀûÀ¸·Î ³ª¸§´ë·Î ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» ÀÛ¼ºÇÏ¸é¼ ¾ðÁ¦³ª ºÒ¸¸½º·¯¿ü´ø Á¡ÀÌ ¹Ù·Î ¼¹ö »çÀ̵å ÀÛ¾÷ ¿µ¿ª¿¡ ´ëÇØ¼´Â °ú°Å ASP ÇÁ·Î±×·¡¹Ö ¸ðµ¨¿¡ ºñÇØ ºñ¾àÀûÀÎ ¼öÁØÀ¸·Î Çâ»óµÈ ¸ðµ¨À» .NET ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ±âº»ÀûÀ¸·Î Á¦°øÇØÁÖÁö¸¸, ¹Ý¸é Ŭ¶óÀÌ¾ðÆ® »çÀÌµå ½ºÅ©¸³Æ® ÀÛ¾÷ ¿µ¿ª¿¡ ´ëÇØ¼´Â Àϸ»ÀÇ Áøº¸µµ ¾ø¾ú´Ù´Â Á¡À̾ú´Ù.
Çö½ÇÀûÀ¸·Î »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿Í °ü·ÃµÈ ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 ¿ÏÀüÈ÷ ÀÛ¾÷À¸·ÎºÎÅÍ ¹èÁ¦ÇÒ ¼ö ¾ø´Â »óȲ¿¡¼ ÀÌ·¯ÇÑ Á¦¾àÀº À¢Áö ¹ÝÂÊÂ¥¸® ÄÄÆ÷³ÍÆ®¸¦ ÀÛ¼ºÇÏ´Â µíÇÑ ±âºÐ¸¸À» ´À³¢°Ô ÇÒ »ÓÀ̾ú´Ù.
±×·¯³ª ÀÌÁ¦´Â ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ¿¡ HTCs ¸¦ µµÀÔÇÏ¿© ¹®Á¦Á¡ÀÇ ´ëºÎºÐÀ» ¸»²ûÇÏ°Ô ÇØ¼ÒÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.
ºñ·Ï HTCs °¡ ÀÎÅÍ³Ý ÀͽºÇ÷η¯ ȯ°æ¿¡¼¸¸ µ¿ÀÛÇϱâ´Â ÇÏÁö¸¸ ±â¾÷ü ³»ºÎ¿¡¼¸¸ °¡µ¿µÇ´Â ½Ã½ºÅÛ°ú °°ÀÌ »ç¿ëÀÚ È¯°æ¿¡ ´ëÇÑ ±âº»ÀûÀÎ Á¤Àǰ¡ ¹Ì¸® ÀÌ·ç¾îÁö´Â ȯ°æ¿¡¼´Â ±â´ëÇÑ ¼öÁØÀ» ³Ñ¾î¼´Â È¿°ú¸¦ ¾òÀ» ¼ö ÀÖÀ» °ÍÀ̶ó´Â°Ô ÇÊÀÚÀÇ °ßÇØ´Ù.
´Ù¸¸ ÇÑ °¡Áö ¾ÈŸ±î¿î »ç½ÇÀº º»¹® ÀÚü´Â ¾îµð±îÁö³ª HTCs ¿¡ °üÇØ¼ ³íÀÇÇϰí ÀÖ´Â ¹®¼À̹ǷΠºÐ·®¿¡ ´ëÇÑ °í·Á³ª ±âŸ ¿©·¯°¡Áö ÀÌÀ¯·Î ÀÎÇØ¼ Áö±Ý ³íÀÇÇϰíÀÚ ÇÏ´Â ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ¿µ¿ªµéÀ» ¸ðµÎ »ìÆìº¼ ¼ö´Â ¾ø´Ù´Â Á¡ÀÌ´Ù.
°Ô´Ù°¡ ÇÊÀÚ ¿ª½Ãµµ ¾ÆÁ÷±îÁö´Â ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ¿¡ ´ëÇÑ Áö½ÄÀÌ ¸¹ÀÌ ºÎÁ·ÇÏ´Ù°í ½º½º·Î »ý°¢Çϰí Àֱ⠶§¹®¿¡ º»°ÝÀûÀÎ ³íÀǸ¦ ÁøÇàÇϱ⿡´Â Ä¿´Ù¶õ ¹«¸®°¡ µû¸¥´Ù´Â Á¡µµ ¶Ç ´Ù¸¥ ÇÑ °¡Áö ÀÌÀ¯ÀÌ´Ù.
µû¶ó¼ º»¹®¿¡¼´Â ¿©·¯ºÐµéÀÌ ÀÌ¹Ì °£´ÜÇÑ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» Á÷Á¢ ÀÛ¼ºÇØ º» °æÇèÀÌ Àְųª, ÃÖ¼ÒÇÑÀÇ ±âº»ÀûÀÎ Áö½ÄÀº º¸À¯Çϰí ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ¸ðµç ³»¿ëÀ» ÁøÇàÇϵµ·Ï ÇÒ °ÍÀÌ´Ù.
±×·¯³ª ÄÚµå ÀÚü°¡ ±×´ÙÁö ¾î·ÆÁö ¾ÊÀ» »Ó´õ·¯ ÄÁÆ®·Ñ ºô´õ³ª ÄÁÆ®·Ñ µðÀÚÀ̳Ê, ¶Ç´Â Çü½Ä º¯È¯±â¿Í °°Àº °í±Þ ±â¹ýÀº ÀüÇô »ç¿ëÇÏÁö ¾Ê¾ÒÀ¸¹Ç·Î Äڵ常 º¸´õ¶óµµ ÀÌÇØÇϴµ¥ Å« ¹«¸®´Â ¾øÀ» °ÍÀ̶ó´Â »ý°¢ÀÌ´Ù.
ÀÛ¾÷ ¸ñÇ¥ ÀÚü´Â »ó´çÈ÷ ´Ü¼øÇѵ¥, ¿ì¸®µéÀÌ ÀÛ¼ºÇÑ HTCs ¸¦ ASP .NET ¿¡¼ Á¦°øÇØÁÖ´Â ±âº» TextBox ¼¹ö ÄÁÆ®·Ñ°ú °áÇÕÇÏ¿© »õ·Î¿î ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» ¸¸µå´Â °ÍÀ¸·Î ´ÙÀ½Àº ±× ÃÖÁ¾ °á°ú¹°ÀÇ Àüü ¼Ò½º ÄÚµåÀÌ´Ù.
EgoCube.Web.UI.WebControls.1.0.1.1.zip (35k)
¹°·Ð ÀÌ ¼Ò½º Äڵ嵵 ÇÊÀÚÀÇ »çÀÌÆ®¸¦ ÅëÇØ¼ °ø°³ÇؿԴø ¸ðµç ÇÁ·Î±×·¥µé°ú ¸¶Âú°¡Áö·Î ¼Ò½º ÄÚµå ÀÚü ¹× µðÀÚÀÎ, ÁÖ¼® µîÀ» Æ÷ÇÔÇÑ ÇÁ·Î±×·¥ÀÇ ¸ðµç ³»¿ëÀ» ¼öÁ¤Çϰųª Ãß°¡ÇÏ¿© Àç¹èÆ÷ ÇÒ ¼ö ÀÖÀ¸¸ç »ó¾÷ÀûÀÎ ¿ëµµ¸¦ Æ÷ÇÔÇÑ ¸ðµç À¯ÇüÀÇ ¸ñÀû¿¡ ÀÖ¾î ±× ¾î¶°ÇÑ Á¾·ùÀÇ Á¦¾àµµ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.
±×·¯³ª ÀÌ Äڵ带 ¼öÁ¤ÇÏ¿© Á¦ÀÛÇÑ ÀÚ½ÅÀÇ 2 Â÷ Á¦ÀÛ¹°¿¡ ´ëÇÑ ±Ç¸®¸¦ ³²¿ëÇÏ¿© ´Ù¸¥ »ç¿ëÀÚµéÀÌ ÀÌ ¼Ò½º Äڵ带 ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â ±Ç¸®¸¦ Á¦ÇÑÇÏÁö´Â ¸øÇÑ´Ù.
ÀÌ¿Í °ü·ÃÇÏ¿© º¸´Ù ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Ë°í ½ÍÀ¸½Å ºÐµéÀº ÇÊÀÚ°¡ ÀúÀ۱ǿ¡ ´ëÇÑ ÀÔÀåÀ» °ø½ÄÀûÀ¸·Î Á¤¸®ÇÏ¿© ÀÛ¼ºÇÑ
'ECUM ¹öÀü 0.0.2b ÀÇ ÀúÀÛ±Ç °ü·Ã »çÇ×' ÀÇ ³»¿ëÀ» Âü°íÇϱ⠹ٶõ´Ù.
ºñ·Ï ÇØ´ç ¹®¼°¡ ¶Ç ´Ù¸¥ º°°³ÀÇ ÇÁ·Î±×·¥ÀÎ ECUM ¹öÀü 0.0.2b ¿¡ °üÇÑ ¹®¼³»¿¡ ÀÛ¼ºµÇ¾îÁ® ÀÖ±â´Â ÇÏÁö¸¸ ÇØ´ç ¹®¼¿¡¼ ¹àÈ÷°í ÀÖ´Â ¹Ù¿Í °°ÀÌ
Ưº°ÇÏ°Ô ÀúÀ۱ǰú °ü·ÃµÈ ¾ð±ÞÀ» º°µµ·Î ÇÏÁö ¾Ê´Â ÀÌ»ó ÇÊÀÚ°¡ °ø°³ÇÏ´Â ¸ðµç ÇÁ·Î±×·¥Àº »ó±â ¹®¼ÀÇ ±ÔÁ¤À» µû¸¥´Ù´Â Á¡¿¡ À¯ÀÇÇϱ⠹ٶõ´Ù.
±×·¯¸é Àü¹ÝÀûÀÎ ÀÛ¾÷ °úÁ¤À» »ìÆìº¸±â¿¡ ¾Õ¼ ¸ÕÀú °á°ú¹°ÀÌ ¾î¶»°Ô »ý¼ºµÇ´ÂÁö¸¦ »ìÆìº¸±â·Î ÇÏÀÚ.
¹«¾ùº¸´Ùµµ °¡Àå ¸ÕÀú ¤°í ³Ñ¾î°¡¾ß ÇÒ Á¡Àº ÄÄÆÄÀÏµÈ ÃÖÁ¾ °á°ú¹°ÀÌ ´Ü ÇϳªÀÇ DLL ÆÄÀϸ¸À¸·Î ÀÌ·ç¾îÁø´Ù´Â °ÍÀÌ´Ù.
Áï,
¸¶Áö¸· ¹èÆ÷ ´Ü°è¿¡¼ ÃÖÁ¾ °³¹ßÀÚ¿¡°Ô Àü´ÞµÇ´Â ÆÄÀÏÀº ¿ÀÁ÷ ÇϳªÀÇ DLL »ÓÀ̶ó´Â °á·ÐÀÌ µÇ´Âµ¥,
ÇÊÀÚ°¡ º»¹®À» ÁغñÇÏ¸é¼ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ°ú HTCs ¸¦ ÅëÇÕÇÏ´Â »ç·ÊÀÇ Çϳª·Î ÀÌ »ùÇà ÄÁÆ®·ÑÀ» ¼³°èÇÒ ¶§ °¡Àå ÁÖÀǸ¦ ±â¿ï¿´´ø ºÎºÐÀÌ ¹Ù·Î ÀÌ ºÎºÐÀÌ´Ù.
°¡·É ÀÓÀÇÀÇ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â ÇÁ·ÎÁ§Æ®°¡ Á¸ÀçÇÏ°í ´ë·« 10 ¿©¸í ³»¿ÜÀÇ ÇÁ·ÎÁ§Æ® ÆÀÀ¸·Î ±¸¼ºµÈ °³¹ßÀÚµéÀÌ Á¸ÀçÇÑ´Ù°í »ý°¢Çغ¸ÀÚ.
½Ç·ÂÀÌ ¶Ù¾î³ ÇÑ ¸íÀÇ °³¹ßÀÚ°¡ ÇÁ·ÎÁ§Æ® ³»ºÎ¿ëÀ¸·Î ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» °³¹ßÇÏ¿© ³ª¸ÓÁö ÆÀ¿øµé¿¡°Ô ¹èÆ÷Çϸé À¥ ÆäÀÌÁö¸¦ °³¹ßÇÏ´Â ÃÖÁ¾ °³¹ßÀÚµéÀÌ ÇØ´ç ÄÁÆ®·ÑÀ» »ç¿ëÇÏ´Â ÇüŶó°í ÇÒ ¶§, ½Å±Ô ÄÁÆ®·ÑÀÌ ¹èÆ÷µÇ°Å³ª ±âÁ¸ÀÇ ÄÁÆ®·ÑÀÌ º¯°æµÇ¾î Àç¹èÆ÷µÇ´Â °æ¿ì, °¡Àå ÀÌ»óÀûÀÎ »óȲÀº ÃÖÁ¾ °³¹ßÀÚµéÀÌ ÇØ´ç ÄÁÆ®·Ñ¿¡ ´ëÇØ¼ ±× ¾î¶°ÇÑ ½Å°æµµ ¾²Áö ¾ÊÀ» ¼ö Àִ ȯ°æÀÏ °ÍÀÌ´Ù.
Á¶±Ý ´õ ±¸Ã¼ÀûÀ¸·Î ¸»Çغ»´Ù¸é ÃÖÁ¾ °³¹ßÀÚµéÀº HTCs °¡ Á¸ÀçÇÏ°Ô µÉ °æ·Î³ª ÄÁÆ®·ÑÀÇ ¹öÀü µî ÀÚÁú±¸·¹ÇÑ ÀÏüÀÇ »çÇ׵鿡 ´ëÇØ¼ ½Å°æ¾²Áö ¾Ê¾Æµµ °³¹ß¿¡´Â ÀüÇô ÁöÀåÀÌ ¾ø¾î¾ß¸¸ ÇÑ´Ù.
±×·± ÀÌÀ¯·Î ÀÌ »ùÇà ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀº ÄÄÆÄÀÏµÈ ÄÚµå»Ó¸¸ ¾Æ´Ï¶ó HTCs ¸¦ Æ÷ÇÔÇÑ ¸ðµç À¯ÇüÀÇ ¸®¼Ò½ºµéÀÌ DLL ÆÄÀÏÀÇ ³»ºÎ¿¡ Æ÷ÇԵǾîÁöµµ·Ï ¼³°èµÇ¾úÀ¸¸ç ÃÖÃÊ ÀÏȸ ·±Å¸Àӽð¡ µÇ¾î¼¾ß ºñ·Î¼Ò HTCs °¡ DLL ÆÄÀϷκÎÅÍ ÃßÃâµÇ¾îÁ® ¹Ì¸® ÁöÁ¤µÈ Æú´õ¿¡ »ý¼ºµÇµµ·Ï µÇ¾îÀÖ´Ù.
±×¸®°í ½ÇÁúÀûÀÎ ÃÖÁ¾ °á°ú¹°¿¡ ÇØ´çÇÏ´Â HTML ÀÇ Å±״ ÀÌ ÃßÃâµÈ HTCs ¸¦ ¸µÅ©Çϵµ·Ï ÀÚµ¿ÀûÀ¸·Î ·»´õ¸µµÇ¾îÁö´Âµ¥, ÃßÃâµÈ HTCs °¡ ÁöÁ¤µÈ °æ·Î¿¡ ÀúÀåµÉ ¶§ DLL ÆÄÀÏÀÇ ÇöÀç ¹öÀü Á¤º¸¸¦ ÆÄÀÏ¸í¿¡ ¹Ý¿µÇϵµ·Ï ¼³°è°¡ µÇ¾î ÀÖ¾î¼ HTCs °¡ º¯°æµÇ´Â °æ¿ì¿¡µµ DLL ÆÄÀÏÀÇ ¹öÀü¸¸ Á¶Á¤ÇØÁÖ¸é HTCs ÀÇ »õ·Î¿î ¹öÀüÀÌ Àüü À¥ ÇÁ·ÎÁ§Æ®·Î Áï½Ã ÀüÆÄµÉ ¼ö ÀÖµµ·Ï ±¸¼ºµÇ¾îÁ® ÀÖ´Ù.
µû¶ó¼ À¥ ÆäÀÌÁö¸¸À» °³¹ßÇÏ´Â ÃÖÁ¾ °³¹ßÀÚÀÇ ÀÔÀå¿¡¼´Â ºÎÂ÷ÀûÀÎ ³»¿ëµéÀ» ÀüÇô ½Å°æ¾²Áö ¾Ê¾Æµµ, ¹èÆ÷µÈ DLL ÆÄÀÏÀ» ASP .NET À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·ÎÁ§Æ®¿¡¼ ÂüÁ¶Çϰí, µµ±¸ »óÀÚ¿¡ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» µî·ÏÇÑ ´ÙÀ½, ASP .NET ¿¡¼ ±âº»À¸·Î Á¦°øµÇ´Â ¼¹ö ÄÁÆ®·ÑÀ» »ç¿ëÇÏ´Â ¹æ¹ý°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ÀÌ ÄÁÆ®·ÑÀ» »ç¿ëÇÏ´Â °Í¸¸À¸·Îµµ HTCs ¸¦ µµÀÔÇÏ¿© ¾òÀ» ¼ö ÀÖ´Â ¿©·¯°¡Áö ÀåÁ¡µéÀ» °í½º¶õÈ÷ Ȱ¿ëÇÒ ¼ö ÀÖ´Ù.
°Ô´Ù°¡ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ °³¹ßÀÚÀÇ ÀÔÀå¿¡¼µµ Àü¹ÝÀûÀÎ HTCs °ü¸®°¡ Çõ½ÅÀûÀ¸·Î °£´ÜÇØÁö°Ô µÈ´Ù.
´Ù¸¸ Áö±Ý ÇÊÀÚ°¡ ¼³¸íÇϰí ÀÖ´Â ÀÌ·¯ÇÑ ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀÇ ¼³°è ¹æ¹ýÀ̳ª ±¸Çö»óÀÇ ¸î °¡Áö Ư¡µéÀº HTCs ¸¦ º¸´Ù È¿À²ÀûÀ¸·Î Ȱ¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ´Ù¹æ¸éÀ¸·Î ¸ð»öÇÑ ³¡¿¡ ¾ò¾îÁø Áö±ØÈ÷ Á¶±×¸¶ÇÑ ÇÊÀÚÀÇ °³ÀÎÀûÀÎ ¼º°úÀÏ »ÓÀ̶ó´Â Á¡À» °Á¶ÇÏ°í ½Í´Ù.
°áÄÚ ÀÌ·¯ÇÑ ³»¿ëµéÀÌ ´Ù¸¥ ¹æ¹ýµé¿¡ ºñÇÏ¿© ±â¼úÀûÀÎ ¿ìÀ§¿¡ ÀÖ´Ù´ø°¡ ÇÏÁö´Â ¾ÊÀ¸¸ç ´ÜÁö ÇϳªÀÇ Èï¹Ì·Î¿î ±¸Çö »ç·Ê Á¤µµ·Î ¹Þ¾Æµé¿© ÁÖ¾úÀ¸¸é ÇÑ´Ù.
¾î¼¸é Áö±Ý º»¹®À» ÀÐ°í °è½Å ºÐµé Áß¿¡¼µµ ÇÊÀÚ°¡ Á¦¾ÈÇϰí ÀÖ´Â ¹æ¹ýº¸´Ù ´õ ÁÁÀº ¾ÆÀ̵ð¾î¸¦ ¸Ó¸®¼ÓÀ¸·Î ¶°¿Ã¸®°í °è½Å ºÐÀÌ ÀÖÀ»Áöµµ ¸ð¸¥´Ù.
±×¸®°í Áö±ÝºÎÅÍ´Â ¼³¸í»óÀÇ ÆíÀǸ¦ À§ÇØ ÀÌ »ùÇà ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» HTCs TextBox ¼¹ö ÄÁÆ®·ÑÀ̶ó°í °¡ÄªÇÏ¿© ºÎ¸£±â·Î ÇϰڴÙ.
HTCs TextBox ¼¹ö ÄÁÆ®·ÑÀÇ ½ÇÁ¦ À̸§Àº ASP .NET ¿¡¼ ±âº»ÀûÀ¸·Î Á¦°øµÇ´Â TextBox ¼¹ö ÄÁÆ®·Ñ°ú µ¿ÀÏÇÑ TextBox ¼¹ö ÄÁÆ®·ÑÀÌ´Ù.
¹°·Ð ±× ³×ÀÓ½ºÆäÀ̽º´Â EgoCube.Web.UI.WebControls ¶ó´Â ÀüÇô º°°³ÀÇ ³×ÀÓ½ºÆäÀ̽º·Î ¼³Á¤µÇ¾î ÀÖÀ¸¹Ç·Î ¼¹ö ÄÁÆ®·ÑÀÇ Å¬·¡½º°¡ Ãæµ¹Çϰųª ÇÏÁö´Â ¾Ê´Â´Ù.
±×¸®°í Áö±ÝºÎÅÍÀÇ »ìÆìº¸°Ô µÉ ¸ðµç ³íÀǵéÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ºñÁÖ¾ó ½ºÆ©µð¿À .NET 2003 ¹öÀüÀ» »ç¿ëÇÏ¿© ÀÛ¾÷ÇÑ´Ù°í °¡Á¤ÇÑ´Ù.
¸ÕÀú Å×½ºÆ®¿ë À¥ ÆäÀÌÁö¸¦ ¸¸µé±â À§ÇÑ ASP .NET À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù.
±×¸®°í º»¹®¿¡¼ ´Ù¿î·Îµå ¹ÞÀº ¾ÐÃà ÆÄÀÏ¿¡ µé¾îÀÖ´Â À¥ ÄÁÆ®·Ñ ¶óÀ̺귯¸® ÇÁ·ÎÁ§Æ®¸¦ ¹æ±Ý »ý¼ºÇÑ ASP .NET À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·ÎÁ§Æ®ÀÇ ¼Ö·ç¼Ç¿¡ Ãß°¡ÇÏ¿© ´ÙÀ½°ú °°Àº ¼Ö·ç¼Ç ±¸Á¶¸¦ ±¸¼ºÇÑ´Ù.
Àü¹ÝÀûÀ¸·Î ¼Ö·ç¼ÇÀÇ ±¸Á¶°¡ ´ë´ÜÈ÷ ´Ü¼øÇÏ°í ±¸¼ºÀǵµ ¶ÇÇÑ ¸íÈ®ÇϹǷΠ±¸Á¶¸¦ ÀÌÇØÇϴµ¥ º°´Ù¸¥ ¾î·Á¿òÀº ¾øÀ» °ÍÀÌ´Ù.
±× ´ÙÀ½¿¡´Â À¥ ÄÁÆ®·Ñ ¶óÀ̺귯¸® ÇÁ·ÎÁ§Æ®¸¦ ASP .NET À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·ÎÁ§Æ®¿¡ ÇÁ·ÎÁ§Æ® ÇüÅ·ΠÂüÁ¶ÇÑ´Ù.
¹°·Ð ÄÄÆÄÀÏ µÈ DLL ÆÄÀÏÀ» Á÷Á¢ ÂüÁ¶ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸ Áö±Ý ´Ü°è¿¡¼´Â ÇÁ·ÎÁ§Æ® ÂüÁ¶ÀÇ ÇüŰ¡ ´õ ¹Ù¶÷Á÷ÇÒ °ÍÀÌ´Ù.
±×¸®°í ÃÖÁ¾ °³¹ßÀÚµéÀÌ ºñ±³Àû Æí¸®ÇÏ°Ô À¥ ÆäÀÌÁö¸¦ °³¹ßÇÒ ¼ö ÀÖÀ¸·Á¸é ¾Æ¹«·¡µµ ÄÁÆ®·ÑÀÌ µµ±¸ »óÀÚ¿¡ µî·ÏµÇ¾î ÀÖ´Â ÆíÀÌ ÁÁÀ» °ÍÀÌ´Ù.
±×·¯¹Ç·Î À̹ø¿¡´Â HTCs TextBox ÄÁÆ®·ÑÀ» µµ±¸ »óÀÚ¿¡ µî·ÏÇØº¸ÀÚ.
¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ºñÁÖ¾ó ½ºÆ©µð¾î .NET 2003 ÀÇ 'µµ±¸(
T)' ¸Þ´º¿¡¼ 'µµ±¸ »óÀÚ Ç׸ñ Ãß°¡/Á¦°Å(
X)...' ¸¦ ½ÇÇàÇϰųª, Á÷Á¢ µµ±¸ »óÀÚ¿¡¼ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ¿© ÆË¾÷ ¸Þ´º¸¦ ¶ç¿ì°í 'Ç׸ñ Ãß°¡/Á¦°Å(
I)...' ¸Þ´º¸¦ ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°ÀÌ 'µµ±¸ »óÀÚ »ç¿ëÀÚ ÁöÁ¤' ´ëÈ »óÀÚ°¡ ³ªÅ¸³´Ù.
ÀÌ 'µµ±¸ »óÀÚ »ç¿ëÀÚ ÁöÁ¤' ´ëÈ »óÀÚ¿¡¼ 'ã¾Æº¸±â(
B)...' ¹öưÀ» Ŭ¸¯Çϰí, ´Ù¿î·Îµå ¹ÞÀº À¥ ÄÁÆ®·Ñ ¶óÀ̺귯¸® ÇÁ·ÎÁ§Æ®ÀÇ bin Æú´õ ÇÏÀ§¿¡ À§Ä¡ÇÑ Debug Æú´õ³ª Release Æú´õ¿¡ ÀÖ´Â EgoCube.Web.UI.WebControls.dll ÆÄÀÏÀ» ¼±ÅÃÇÏ¸é ´ÙÀ½°ú °°ÀÌ ÄÁÆ®·ÑÀÌ µî·ÏµÈ´Ù.
ÀÌ¹Ì ¼³¸íÇß´ø °Íó·³ ÄÁÆ®·Ñ ÀÚüÀÇ À̸§Àº ASP .NET ¿¡¼ ±âº»À¸·Î Á¦°øµÇ´Â TextBox ¼¹ö ÄÁÆ®·Ñ°ú µ¿ÀÏÇÑ TextBox ¼¹ö ÄÁÆ®·ÑÀÌÁö¸¸ ³×ÀÓ½ºÆäÀ̽º¿Í ¾î¼Àºí¸® À̸§À» »ìÆìº¸¸é ±× º»ÁúÀº ÀüÇô ´Ù¸¥ ÄÁÆ®·ÑÀ̶ó´Â Á¡À» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌÁ¦ 'È®ÀÎ' ¹öưÀ» ´·¯¼ 'µµ±¸ »óÀÚ »ç¿ëÀÚ ÁöÁ¤' ´ëÈ »óÀÚ¸¦ ´Ý°í, µµ±¸ »óÀÚ¸¦ »ìÆìº¸¸é ´ÙÀ½°ú °°ÀÌ ¿©·¯°¡Áö µµ±¸ »óÀÚ Åǵé Áß Çϳª - ´ëºÎºÐÀÇ °æ¿ì ÀÏ¹Ý ÅÇ - ¿¡ µî·ÏµÈ HTCs TextBox ÄÁÆ®·ÑÀ» ½±°Ô ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
±×¸®°í ´«Ä¡°¡ ºü¸£½Å ºÐµéÀº ÀÌ¹Ì ´ëºÎºÐ ÁüÀÛÇÏ°í °è½Ã°ÚÁö¸¸ Àç¹Ì»ï¾Æ ¾ê±âÇØº»´Ù¸é ÇÊÀÚÀÇ ±×·¡ÇÈ ÇÁ·Î±×·¥ ½Ç·ÂÀÌ Å©°Ô ºÎÁ·ÇÑ °ü°è·Î ±âº» TextBox ¼¹ö ÄÁÆ®·Ñ¿¡¼ º¹»çÇÑ ¾ÆÀÌÄÜÀ» ÅØ½ºÆ® »ö»ó¸¸ ¾à°£ º¯°æÇؼ »õ ÄÁÆ®·Ñ¿¡ »ç¿ëÇß´Ù.
¾ðÁ¦³ª ±×·¸Áö¸¸ ÇÊÀÚ¿¡°Ô ¾ÆÀÌÄÜ ¸¸µé±â¶õ ³Ê¹«³ªµµ Èûµç ÀÛ¾÷ÀÌ´Ù.

ÄÁÆ®·ÑÀ» »ç¿ëÇϱâ À§ÇÑ ´ëºÎºÐÀÇ ÀÛ¾÷µéÀÌ ´ëºÎºÐ ¿Ï·áµÇ¾úÀ¸¹Ç·Î ÀÌÁ¦ ³²Àº ÀÏÀº µî·ÏµÈ HTCs TextBox ÄÁÆ®·ÑÀ» »ç¿ëÇÏ´Â ÀÏ »ÓÀÌ´Ù.
ÀϹÝÀûÀÎ ASP .NET ¼¹ö ÄÁÆ®·Ñµé°ú ¸¶Âú°¡Áö·Î ¸¶¿ì½º¸¦ ÀÌ¿ëÇÑ µå·¡±× & µå¶ø ±â´ÉÀ» Áö¿øÇϸç, À§ÀÇ À̹ÌÁö¿¡¼ º¼ ¼ö ÀÖ´Â µÎ ¹øÂ° TextBox ¼¹ö ÄÁÆ®·ÑÀÌ ¹Ù·Î ±×·± ¹æ¹ýÀ» ÅëÇØ¼ »ý¼ºµÈ °ÍÀÌ´Ù.
±×»Ó¸¸ ¾Æ´Ï¶ó µðÀÚÀÎ ºä »óÅ¿¡¼ ÆäÀÌÁö¿¡ ¿Ã·ÁÁø HTCs TextBox ¼¹ö ÄÁÆ®·ÑÀ» ¸¶¿ì½º·Î ¼±ÅÃÇÏ¸é ´ÙÀ½°ú °°ÀÌ ÄÁÆ®·Ñ¿¡ ´ëÀÀÇÏ´Â ¼Ó¼ºµéÀÌ ¼Ó¼º â¿¡ ¹Ý¿µµÇ¾î Ãâ·ÂµÈ´Ù.
´Ù½Ã ¸»Çؼ ASP .NET ¿¡¼ ±âº»À¸·Î Á¦°øµÇ´Â ¼¹ö ÄÁÆ®·Ñµé°ú ±×´ÙÁö Â÷À̳¯ ¹Ù°¡ ¾ø´Â °ÍÀÌ´Ù.
±×·¯³ª µðÀÚÀΠŸÀÓ Áö¿ø ±â´É°ú °ü·ÃÇÏ¿© °áÁ¤ÀûÀ¸·Î ºÎÁ·ÇÑ ±â´ÉÀÌ ÇÑ °¡Áö Á¸ÀçÇϴµ¥ ¹Ù·Î HTML ºä¿¡¼´Â ÀÎÅÚ¸®¼¾½º ±â´ÉÀÌ µ¿ÀÛÇÏÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù.
HTML ºä¿¡¼ÀÇ ÀÎÅÚ¸®¼¾½º ±â´É Áö¿øÀº ÇöÀçÀÇ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ºñÁÖ¾ó ½ºÆ©µð¿À .NET 2003 ¹öÀü °³¹ß ȯ°æÇÏ¿¡¼ ´Ù¼Ò º¹ÀâÇÒ »Ó¸¸ ¾Æ´Ï¶ó ¹èÆ÷¶ó´Â °üÁ¡¿¡¼ º¼ ¶§ »ó´çÈ÷ ¹ø°Å·Î¿î ÀÛ¾÷À» ¿ä±¸ÇÑ´Ù.
°Ô´Ù°¡ º¸´Ù ¹Î°¨ÇÑ ¹®Á¦´Â ±×·¯ÇÑ ÀÛ¾÷µéÀÌ ¼¹ö ÄÁÆ®·Ñ °³¹ßÀÚµé »Ó¸¸ ¾Æ´Ï¶ó ÄÁÆ®·ÑÀ» »ç¿ëÇÏ´Â À¥ °³¹ßÀڵ鿡°Ô±îÁö ¿ä±¸µÇ¾îÁø´Ù´Â Á¡À¸·Î¼, º»¹®¿¡¼´Â ±»ÀÌ ¹®¸ÆÀ» È寮·Á°¡¸é¼±îÁö º°µµ·Î ³íÀǸ¦ ÁøÇàÇÒ ÇÊ¿ä´Â ¾ø´Ù°í ÆÇ´ÜµÇ¾î HTML ºä¿¡¼ÀÇ ÀÎÅÚ¸®¼¾½º ±â´É Áö¿øÀº ±× ±¸ÇöÀ» »ý·«Çß´Ù´Â Á¡À» °¨¾ÈÇϱ⠹ٶõ´Ù.

±×·±µ¥ À§ÀÇ À̹ÌÁö¸¸ ³õ°í º»´Ù¸é ¼Ó¼º â¿¡ ³ªÅ¸³ ¼Ó¼ºµéÀÇ Á¾·ù°¡ ´ë´ÜÈ÷ ´Ù¾çÇϹǷΠÀ¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ¿¡ ´ëÇÑ ±âº»ÀûÀÎ Áö½ÄÀÌ ¾øÀ¸½Å ºÐµéÀº ÇÊÀÚ°¡ ÀÌ ¸ðµç ¼Ó¼ºµéÀ» Á÷Á¢ ±¸ÇöÇÑ °ÍÀ¸·Î ¿ÀÇØÇϱⰡ ½¬¿ï °ÍÀÌ´Ù.
±×·¯³ª ºÎ¸ð Ŭ·¡½º·ÎºÎÅÍ »ó¼Ó¹ÞÀº ¼Ó¼ºµé ¿Ü¿¡ Á÷Á¢ ÄÚµå·Î ±¸ÇöÇÏ¿© Ãß°¡ÇØÁØ ¼Ó¼ºÀº 'µ¿ÀÛ' Ä«Å×°í¸® ÇÏÀ§ÀÇ 'HTCs' ¼Ó¼º°ú 'HTCsDefaultValue' ¼Ó¼º, °íÀÛ ÀÌ·¸°Ô µÎ °¡Áö¿¡ ºÒ°úÇÏ´Ù.
±× ¹ÛÀÇ ³ª¸ÓÁö ¼Ó¼ºµéÀº ¸ðµÎ ASP .NET ¿¡¼ ±âº»À¸·Î Á¦°øÇØÁÖ´Â TextBox ¼¹ö ÄÁÆ®·Ñ·ÎºÎÅÍ »ó¼Ó¹ÞÀº °ÍµéÀÏ »ÓÀ¸·Î »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» ÀÛ¼ºÇÒ ¶§¸¶´Ù ÀÌ·¸µí ¸¹Àº ºÐ·®ÀÇ ¼Ó¼ºµéÀ» ¸ðµÎ ÄÚµå·Î Á÷Á¢ ±¸ÇöÇØÁÖ¾î¾ß¸¸ ÇÏ´Â °ÍÀÎÁö ¹Ì¸®ºÎÅÍ ¿°·ÁÇϽô ºÐµéÀº ¾ø±â ¹Ù¶õ´Ù.
½ÇÁ¦·Î TextBox ¼¹ö ÄÁÆ®·ÑÀ» »ó¼Ó¹Þ´Â ºÎºÐÀΠŬ·¡½º ¼±¾ðºÎÀÇ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ ¸Å¿ì ÀÏ»óÀûÀÎ Æò¹üÇÑ Äڵ忡 ºÒ°úÇϸç, ÀÌ ´Ü ÇÑ ÁÙÀÇ ÄÚµå·Î ÀÎÇØ¼ ºÎ¸ð À¥ ¼¹ö ÄÁÆ®·ÑÀÇ Å¬·¡½º·ÎºÎÅÍ ¸ðµç ¼Ó¼ºµéÀ» »ó¼Ó¹Þ°Ô µÇ´Âµ¥, »ç½Ç ÀÌ´Â ³Ê¹«³ªµµ ´ç¿¬ÇÑ °á°ú¶ó°í ¸»ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
...
public class TextBox : System.Web.UI.WebControls.TextBox
{
...
|
ÄÁÆ®·Ñ¿¡ »õ·Î¿î ¼Ó¼ºÀ» Ãß°¡½Ã۱â À§Çؼ´Â ÇØ´ç ÄÁÆ®·ÑÀÇ Å¬·¡½º¿¡ ÇÊ¿äÇÑ ¼Ó¼ºÀ» ±¸ÇöÇØÁֱ⸸ ÇÏ¸é µÈ´Ù.
¹°·Ð ¾Æ¹«·¸°Ô³ª ¸¶À½ ³»Å°´Â´ë·Î Ŭ·¡½º ¼Ó¼ºÀ» ±¸ÇöÇϱ⸸ ÇÏ¸é µÇ´Â °ÍÀº ¾Æ´Ï°í ½ÇÁ¦·Î´Â ¿©·¯°¡Áö ´Ù¾çÇÑ ±â¹ýµéÀÌ µ¿¿øµÇÁö¸¸ ±× ±âº»ÀûÀÎ ¿ø¸®´Â À̸¦ Å©°Ô ¹þ¾î³ªÁö ¾Ê´Â´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù.
ƯÈ÷³ª Çü½Ä º¯È¯±â µî°ú °°Àº µðÀÚÀΠŸÀÓ Áö¿ø ±â´ÉÀ̳ª ÅÛÇø´ ¶Ç´Â µ¥ÀÌÅÍ ¹ÙÀεù°ú °°Àº ÄÁÆ®·ÑÀÇ °í±Þ ±â´ÉµéÀ» Á÷Á¢ ±¸ÇöÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â ´õ¿í ±×·¸´Ù.
¿¹¸¦ µé¾î¼ ¾Æ·¡ÀÇ ÄÚµå´Â ¹æ±Ý Àü¿¡ ¼³¸íÇß´ø HTCs TextBox ¼¹ö ÄÁÆ®·Ñ¿¡ Ãß°¡µÈ 'HTCs' ¼Ó¼º°ú 'HTCsDefaultValue' ¼Ó¼ºÀÇ ½ÇÁ¦ ±¸Çö ÄÚµåÀÌ´Ù.
¹®¸Æ»ó ´Ù¼Ò È¥¶õ½º·¯¿ï ¼öµµ ÀÖ°ÚÁö¸¸, Category ³ª DefaultValue µî Ŭ·¡½º ¶óÀ̺귯¸®¿¡ ¹Ì¸® Á¤ÀÇµÈ ÀÏ·ÃÀÇ Æ¯¼º (Attribute) µéÀ» »ç¿ëÇÏ¿© ¼Ó¼º â¿¡ Ãâ·ÂµÇ´Â ÄÁÆ®·ÑÀÇ ¼Ó¼º (Property) µéÀ» Á¦¾îÇÏ´Â ºÎºÐ µîÀ» À¯½ÉÈ÷ »ìÆìº¸±â ¹Ù¶õ´Ù.
Âü°í·Î ÀÌ·¯ÇÑ Æ¯¼ºµé¿¡ ´ëÇÑ º¸´Ù »ó¼¼ÇÑ Á¤º¸´Â System.ComponentModel ³×ÀÓ½ºÆäÀ̽º¸¦ ÅëÇØ¼ ¾òÀ» ¼ö ÀÖ´Ù.
±×¸®°í ÇÁ·ÎÆÛƼÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§Çؼ Ŭ·¡½º ³»ºÎ º¯¼ö¸¦ ¼±¾ðÇÏ´Â ´ë½Å ViewState °³Ã¼¸¦ »ç¿ëÇÏ´Â ±â¹ýÀ̶ó´øÁö, 'HTCs' ¼Ó¼ºÀÇ ¸®ÅÏ µ¥ÀÌÅÍ ÇüÀÌ ¿°ÅÇüÀ̶ó´Â »ç½Ç°ú ±×·Î ÀÎÇØ HTCs' ¼Ó¼ºÀÇ ¼Ó¼º â Ãâ·Â ÇüŰ¡ ÀÚµ¿ÀûÀ¸·Î µå·Ó´Ù¿î ¸®½ºÆ®·Î ³ªÅ¸³´Ù´Â Á¡ µîµµ ÇÑ ¹ø ´«¿©°Ü º¼¸¸ÇÑ ºÎºÐÀÌ´Ù.
...
#region ÄÁÆ®·Ñ ÇÁ·ÎÆÛƼ
/// <summary>
/// ÄÁÆ®·Ñ¿¡ Àû¿ëµÇ´Â HTCs ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ¸¶¹«·± °ªµµ ÁöÁ¤µÇÁö
/// ¾ÊÀ¸¸é ÄÁÆ®·ÑÀº HTCsType.NotSet À» ÁöÁ¤ÇÑ °Í°ú µ¿ÀÏÇÑ ¸ðµå·Î µ¿ÀÛÇϰí,
/// ÀÌ´Â ASP.NET ¿¡¼ ±âº»À¸·Î Á¦°øµÇ´Â TextBox ÄÁÆ®·ÑÀÇ µ¿ÀÛ°ú
/// Á¤È®ÇÏ°Ô µ¿ÀÏÇÑ °ÍÀÌ´Ù.
/// </summary>
[Description("ÄÁÆ®·Ñ¿¡ Àû¿ëµÇ´Â HTCs ¸ðµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù.")]
[Category("Behavior")]
[DefaultValue(HTCsType.NotSet)]
public HTCsType HTCs
{
get
{
if (this.ViewState["HTCs"] == null)
return HTCsType.NotSet;
else
return (HTCsType) this.ViewState["HTCs"];
}
set
{
this.ViewState["HTCs"] = value;
}
}
/// <summary>
/// ÄÁÆ®·ÑÀÌ HTCs ¸ðµå¿¡¼ µ¿ÀÛµÉ ¶§ Àû¿ëµÇ´Â defaultValue ¼Ó¼º°ªÀ» ÁöÁ¤ÇÑ´Ù.
/// ÀÌ ¼Ó¼º°ªÀº ÄÁÆ®·ÑÀÌ HTCs ¸ðµå·Î µ¿ÀÛÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â ¹«½ÃµÈ´Ù.
/// </summary>
[Description("ÄÁÆ®·ÑÀÌ HTCs ¸ðµå¿¡¼ µ¿ÀÛµÉ ¶§ Àû¿ëµÇ´Â defaultValue ¼Ó¼º°ªÀ»...")]
[Category("Behavior")]
[DefaultValue("")]
public string HTCsDefaultValue
{
get
{
if (this.ViewState["HTCsDefaultValue"] == null)
return "";
else
return (string) this.ViewState["HTCsDefaultValue"];
}
set
{
this.ViewState["HTCsDefaultValue"] = value;
}
}
#endregion
...
|
±×·¯³ª ¿©·¯ºÐµéÀÌ Á¤¸»·Î ¼¼½ÉÇÏ°Ô ÁÖÀǸ¦ ±â¿ï¿©¼ »ìÆìºÁ¾ß¸¸ µÉ ºÎºÐÀº Áö±ÝºÎÅÍ ³íÀÇµÉ ¸î °¡Áö ³»¿ëµéÀÌ´Ù.
ÀÌ¹Ì ¾Õ¿¡¼ ¾ê±âÇß´ø °Íó·³ HTCs TextBox ÄÁÆ®·ÑÀº ÄÄÆÄÀÏµÈ ÄÚµå»Ó¸¸ ¾Æ´Ï¶ó HTCs ÆÄÀÏÀ» Æ÷ÇÔÇÑ ¸ðµç À¯ÇüÀÇ ¸®¼Ò½ºµéÀÌ DLL ÆÄÀÏÀÇ ³»ºÎ¿¡ Æ÷ÇԵǾîÁöµµ·Ï ¼³°èµÇ¾î ÀÖ´Ù.
ÀÌ·¯ÇÑ °á°ú¸¦ ¾ò±â À§Çؼ ¿ì¸®µéÀÌ Ã³¸®ÇØÁÖ¾î¾ß ÇÒ ÀÛ¾÷Àº ¸Å¿ì °£´ÜÇѵ¥, ´ÜÁö DLL ÆÄÀÏ ³»ºÎ¿¡ ÆÐŰ¡ÇϰíÀÚ ÇÏ´Â ¸®¼Ò½º ÆÄÀÏÀÇ 'ºôµå ÀÛ¾÷' ¼Ó¼º°ªÀ» 'Æ÷ÇÔ ¸®¼Ò½º' ·Î ¼³Á¤ÇØ Áֱ⸸ ÇÏ¸é µÈ´Ù.
À̸¦Å×¸é ´ÙÀ½ À̹ÌÁö´Â HTCs_Numeric_Only.htc ÆÄÀÏÀÇ ½ÇÁ¦ ¼³Á¤ »óŸ¦ º¸¿©ÁÖ°í ÀÖ´Ù.
À̰ÍÀÌ ÇÊ¿äÇÑ ÀÛ¾÷ÀÇ ÀüºÎ´Ù.

´ÙÀ½ ´Ü°è·Î ±¸ÇöÇØ¾ß ÇÒ ÀÛ¾÷Àº ÃÖÃÊ ÀÏȸ ·±Å¸Àӽÿ¡ DLL ÆÄÀϷκÎÅÍ HTCs ÆÄÀÏÀÇ ÄÚµå ³»¿ëÀ» ÃßÃâÇÏ¿© ¹Ì¸® ÁöÁ¤ÇØ ³õÀº Æú´õ¿¡ ½ÇÁ¦ ÆÄÀÏÀ» »ý¼ºÇϰí, ·»´õ¸µµÇ´Â HTCs TextBox ÄÁÆ®·ÑÀÇ HTML Äڵ尡 ÀÌ·¸°Ô ¸¸µé¾îÁø HTCs ÆÄÀÏÀ» ¸µÅ©Çϵµ·Ï ó¸®ÇÏ´Â ÀÛ¾÷ÀÌ´Ù.
±×·±µ¥ ½ÇÁ¦·Î ÀÌ·¯ÇÑ Äڵ带 ±¸ÇöÇϱâ Àü¿¡ ¸î °¡Áö ¹Ì¸® °í·ÁÇØºÁ¾ß¸¸ ÇÒ »çÇ×µéÀÌ ÀÖ´Ù.
±× ù ¹øÂ°·Î´Â DLL ÆÄÀϷκÎÅÍ ÃßÃâµÈ HTCs Äڵ带 ±¸Ã¼ÀûÀ¸·Î ¾î¶² Æú´õ¿¡ ÆÄÀÏ·Î »ý¼ºÇÒ °ÍÀÎÁö¸¦ °áÁ¤Çؾ߸¸ ÇÑ´Ù.
µÎ ¹øÂ°·Î´Â ÀÌ¹Ì ÄÁÆ®·ÑÀÌ °³¹ßÀڵ鿡°Ô ¹èÆ÷µÈ »óȲ¿¡¼ ´Ù½Ã HTCs Äڵ尡 º¯°æµÇ´Â °æ¿ì°¡ ¹ß»ýÇÑ´Ù¸é ´ç¿¬È÷ Àç¹èÆ÷µÈ ÄÁÆ®·ÑÀÇ HTCs ÆÄÀÏÀÌ ¹Ý¿µµÇ¾î¾ß¸¸ Çϴµ¥, HTCs ÆÄÀÏÀÌ »ý¼ºµÉ Æú´õ¿¡´Â ÀÌ¹Ì ÀÌÀü ¹öÀüÀÇ HTCs ÆÄÀÏÀÌ Á¸ÀçÇϰí ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î, °á±¹ HTCs ÆÄÀϰ£ÀÇ ¹öÀüÀ» ½Äº°ÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ ¹æ¾ÈÀÌ ÇÊ¿äÇÏ´Ù´Â Á¡ÀÌ´Ù.
¸¶Áö¸· ¼¼ ¹øÂ°·Î´Â ÀÌ¿Í °°Àº ÀÛ¾÷µéÀ» ó¸®Çϱâ À§ÇØ ÇÊ¿äÇÑ ½ÇÁ¦ Äڵ尡 ¼¹ö ÄÁÆ®·ÑÀÇ ¶óÀÌÇÁ ½ÎÀÌŬ¾È¿¡¼ ¾î¶² ´Ü°è¿¡¼ ±¸ÇöµÇ´Â °ÍÀÌ °¡Àå ÀûÀýÇÑÁö¸¦ °áÁ¤Çؾ߸¸ ÇÑ´Ù.
±×·¸´Ù¸é ¿ì¼± HTCs ÆÄÀÏÀ» »ý¼ºÇÒ À§Ä¡·Î´Â ¾îµð°¡ °¡Àå Àû´çÇÒÁö¿¡ ´ëÇØ¼ ³íÀÇÇØº¸ÀÚ.
°³°³Àθ¶´Ù ¼±È£ÇÏ´Â ¹æ¹ýÀÌ ÀÖ°ÚÁö¸¸ ÇÊÀÚ´Â ÀÌ ¹®Á¦¸¦ ±»ÀÌ ¾î·Æ°Ô Á¢±ÙÇÏÁö ¾Ê°í °¡Àå °£´ÜÇÑ ¹æ¹ýÀ¸·Î ÇØ°áÇϱâ·Î Çß´Ù.
Àá½Ã¸¸ »ý°¢Çغ»´Ù¸é ASP.NET ±â¹Ý ±¸Á¶¿¡´Â ÇöÀç ¿ì¸®µéÀÇ ¸ñÀû¿¡ ÀûÀýÇÏ°Ô È°¿ëÇÒ ¼ö ÀÖ´Â Æú´õ°¡ ÀÌ¹Ì Á¸ÀçÇϰí ÀÖ´Ù´Â Á¡À» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¹Ù·Î aspnet_client Æú´õ°¡ ±×°ÍÀÌ´Ù.
±×·¯³ª ÀÌ Æú´õ¸¦ ±× ÀÚü·Î »ç¿ëÇϱ⿡´Â Á¶±Ý ¹«¸®°¡ Àִµ¥, ¿Ö³ÄÇϸé aspnet_regiis.exe µîÀÇ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸é ÇØ´ç Æú´õ°¡ µ¤¾î¾º¿öÁö°Å³ª »èÁ¦µÉ ¼ö ÀÖ´Â °¡´É¼ºµµ ÃæºÐÈ÷ Á¸ÀçÇϱ⠶§¹®ÀÌ´Ù.
µû¶ó¼ ¾à°£ÀÇ ÀÀ¿ëÀÌ ÇÊ¿äÇѵ¥ Áö±ÝºÎÅÍ ±× ¹æ¹ýÀ» ¾Ë¾Æ º¸µµ·Ï ÇÏÀÚ.
±×´ÙÁö ³Î¸® ¾Ë·ÁÁöÁö´Â ¾ÊÀº »ç½ÇÀ̳ª machine.config ÆÄÀÏÀÇ 355 ¶óÀÎ ºÎ±ÙÀ» »ìÆìº¸¸é ´ÙÀ½°ú °°Àº ³ëµå¸¦ ã¾Æº¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
±× À¯¸íÇÑ processModel ³ëµåÀÇ ¹Ù·Î ´ÙÀ½¿¡ ³ªÅ¸³ª´Â ³ëµåÀ̹ǷΠã´Âµ¥ º°´Ù¸¥ ¾î·Á¿òÀº ¾øÀ» °ÍÀÌ´Ù.
...
<webControls clientScriptsLocation="/aspnet_client/{0}/{1}/"/>
...
|
±× ³»¿ëÀ» ÇÑ ¹ø »ìÆìº¸±â¸¸ ÇÏ¸é ¾Æ¹«¸® ´«Ä¡°¡ ¾ø´Â »ç¶÷ÀÌ¶óµµ ¹º°¡ ´À²¸Áö´Â ¹Ù°¡ ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ¹Ì ¿©·¯ºÐµéµµ ´ëºÎºÐ ¿¹»óÇÏ°í °è½Ã°ÚÁö¸¸ ¹Ù·Î ÀÌ ³ëµå°¡ ASP.NET ¿¡¼ »ç¿ëÇÏ´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ »ý¼º¿ë Æú´õ °æ·Î¸¦ ¼³Á¤ÇÏ´Â ³ëµåÀÌ´Ù.
´õ±º´Ù³ª ÀÌ ³ëµå¿¡ Á¸ÀçÇÏ´Â À¯ÀÏÇÑ ¼Ó¼ºÀÎ clientScriptsLocation ÀÇ °ªÀ» »ìÆìº¸¸é °í¸¿°Ôµµ String Ŭ·¡½ºÀÇ Format() ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÀüÁ¦·Î ÇÏ´Â¾ç ±¸¼ºµÇ¾î ÀÖ´Â °ÍÀÌ´Ù.
µû¶ó¼ ÀÌ ¼Ó¼º°ªÀ» ÀоîµéÀÎ ´ÙÀ½, °£´ÜÇÑ ¹®ÀÚ¿ 󸮸¦ °ÅÄ¡±â¸¸ ÇÏ¸é ²Ï³ª ±×·²µíÇÏ¸é¼ ³ª¸§´ë·Î ÇÕ¸®ÀûÀÎ °æ·Î¸¦ ¾ò¾î³¾ ¼ö ÀÖ´Ù.
±×·¡¼ ÇÊÀÚ´Â ´ÙÀ½°ú °°Àº À¯Æ¿¸®Æ¼ ¸Þ¼µå¸¦ °£´ÜÇÏ°Ô ÀÛ¼ºÇÏ¿© Ŭ·¡½º¿¡¼ ³»ºÎÀûÀ¸·Î »ç¿ëÇϰí ÀÖ´Ù.
...
/// <summary>
/// .NET ¼³Á¤ ÆÄÀϷκÎÅÍ HTCs ÆÄÀÏÀÌ À§Ä¡ÇÒ URL °æ·Î¸¦ °¡Á®¿Â´Ù.
/// </summary>
/// <returns>HTCs ÆÄÀÏÀÌ À§Ä¡ÇÒ URL °æ·Î</returns>
private string ClientScriptsLocation()
{
IDictionary objDictionary = (IDictionary)
System.Configuration.ConfigurationSettings.GetConfig("system.web/webControls");
string ClientScriptsLocation =
objDictionary["clientScriptsLocation"].ToString().Trim();
ClientScriptsLocation = String.Format(ClientScriptsLocation, "EgoCube", "HTCs");
return ClientScriptsLocation;
}
...
|
±×¸®°í ±× °á°ú·Î¼ »ý¼ºµÇ´Â Æú´õÀÇ ½ÇÁ¦ ±¸Á¶´Â ´ÙÀ½ÀÇ À̹ÌÁö¸¦ ÅëÇØ¼ ¹Ì¸® »ìÆìº¼ ¼ö ÀÖ´Ù.
ÀÌ Æú´õ ±¸Á¶´Â ÇÊÀÚÀÇ °³¹ß PC ¿¡ ÇöÀç »ý¼ºµÇ¾î ÀÖ´Â ½ÇÁ¦ ±¸Á¶´Ù.
ASP .NET ÀÇ ÀÚüÀûÀÎ Æú´õµéÀ» ÀüÇô °£¼·ÇÏÁö ¾ÊÀ¸¸é¼µµ ´ëºÎºÐÀÇ ºÐµéÀÌ ³³µæÇÒ ¼ö ÀÖÀ»¸¸ÇÑ °á°ú¶ó°í »ý°¢ÇÑ´Ù.
¿©·¯ºÐµéµµ °¢ÀÚ ÀÚ½ÅÀÌ ¼Ò¼ÓµÈ ¾÷üÀÇ È¸»ç¸íÀ̳ª ±â°ü¸í µîÀ» Ȱ¿ëÇÏ¿© aspnet_client Æú´õ ÇÏÀ§¿¡ °íÀ¯ÇÑ Æú´õ¸¦ Ãß°¡ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
´Ù¸¸ ÇÑ °¡Áö ÁÖÀÇÇØ¾ß ÇÒ Á¡ÀÌ Àִµ¥ ±×°ÍÀº ¾Õ¿¡¼µµ ¿©·¯Â÷·Ê ¾ê±âÇß´ø °Íó·³ Æú´õ°¡ »ý¼ºµÇ´Â ½ÃÁ¡ÀÌ ½ÇÁ¦·Î ÄÁÆ®·ÑÀÌ ÃÖÃÊ·Î ·ÎµåµÇ¾î »ç¿ëµÉ ¶§¶ó´Â Á¡ÀÌ´Ù.
Áï ¹®Á¦ÀÇ ÇÙ½ÉÀº °³¹ßÀÚ³ª ¼¹ö °ü¸®ÀÚ¿¡ ÀÇÇØ¼°¡ ¾Æ´Ï¶ó ÀÏ¹Ý »ç¿ëÀÚÀÇ ÆäÀÌÁö ¿äû¿¡ ÀÇÇØ¼ Æú´õ »ý¼ºÀÌ ÀÌ·ç¾îÁø´Ù´Â Á¡ÀÌ´Ù.
µû¶ó¼ ASP .NET ÀÇ ±âº» ½ÇÇà °èÁ¤ÀÎ ASPNET °èÁ¤ÀÌ °¡Áö°í ÀÖ´Â Á¦ÇÑµÈ ±ÇÇѸ¸À¸·Î´Â Æú´õÀÇ »ý¼ºÀÌ ºÒ°¡´ÉÇϹǷΠ°á°úÀûÀ¸·Î´Â ±ÇÇÑ °ü·Ã ¿À·ù°¡ ¹ß»ýÇÏ°Ô µÈ´Ù.
ÀÌ·¯ÇÑ ¿À·ù¸¦ ÇÇÇÏ·Á¸é IIS 6.0 À» »ç¿ëÇϰí ÀÖ´Â °æ¿ì¿¡´Â °ü·ÃµÈ ÀÀ¿ë ÇÁ·Î±×·¥ Ç®ÀÇ ID ¼³Á¤À» '·ÎÄà ½Ã½ºÅÛ' À¸·Î ¹Ù²ãÁÖ°í, ±× ÀÌÇÏÀÇ IIS ¹öÀüÀ» »ç¿ëÇϰí ÀÖ´Â °æ¿ì¶ó¸é machine.config ÆÄÀÏ¿¡¼ processModel ³ëµåÀÇ userName ¼Ó¼ºÀÇ °ªÀ» SYSTEM À¸·Î ¹Ù²ãÁÖ¸é µÈ´Ù.
¸¸¾à ÀÀ¿ë ÇÁ·Î±×·¥ Ç®À̶ó´Â °³³ä ÀÚü°¡ Àͼ÷ÇÏÁö ¾Ê´Ù°Å³ª, ÀÀ¿ë ÇÁ·Î±×·¥ Ç® ID ±¸¼º ¹æ¹ýÀ» Àß ¸ð¸¥´Ù¸é ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼ Á¦°øÇÏ´Â
'IIS 6.0¿¡¼ ÀÀ¿ë ÇÁ·Î±×·¥ Ç® ±¸¼º (IIS 6.0)' ¹®¼³ª
'IIS 6.0¿¡¼ ÀÀ¿ë ÇÁ·Î±×·¥ Ç® ID ±¸¼º (IIS 6.0)' ¹®¼ µîÀ» ¸ÕÀú Âü°íÇϱ⠹ٶõ´Ù.
¹öÀü ¹®Á¦ ¿ª½Ãµµ »ý°¢Çϱ⿡ µû¶ó¼´Â ¸Å¿ì °£´ÜÇÏ°Ô ÇØ°áÇÒ ¼ö°¡ ÀÖ´Ù.
¹°·Ð ´Ù¸¥ ¿©·¯°¡Áö ÁÁÀº ¹æ¾ÈµéÀÌ Á¸ÀçÇÒ ¼öµµ ÀÖ°ÚÁö¸¸ ÇÊÀÚ°¡ »ý°¢Çس½ ÇØ°á ¹æ¹ýÀÇ ÇÙ½ÉÀº ¹Ù·Î ¸®Ç÷º¼ÇÀÌ´Ù.
Á¶±Ý ´õ ±¸Ã¼ÀûÀ¸·Î ¾ê±âÇÏÀÚ¸é HTCs ÆÄÀÏÀÇ ¹öÀü °ü¸®¸¦ À§Çؼ ±»ÀÌ º°µµÀÇ Ã¼°è¸¦ ¸¸µé¾î³¾ °ÍÀÌ ¾Æ´Ï¶ó, ¸ÕÀú ¼¹ö ÄÁÆ®·Ñ ¾î¼Àºí¸®ÀÇ ¹öÀü Á¤º¸¸¦ ¸®Ç÷º¼ÇÀ¸·Î °¡Á®¿Í¼ HTCs ÆÄÀÏÀÇ ¹öÀüÀ¸·Î ¹Ý¿µ½ÃŰ¸é µÇ´Â °ÍÀÌ´Ù.
.NET ¾î¼Àºí¸®ÀÇ ¹öÀü Á¤º¸´Â AssemblyInfo.cs ÆÄÀÏÀÇ AssemblyVersion ¼Ó¼ºÀ» ÅëÇØ¼ Á¦¾î°¡ °¡´ÉÇϸç, ´ëºÎºÐÀÇ °æ¿ì ´ÙÀ½ÀÇ Äڵ忡¼ º¼ ¼ö ÀÖ´Â °Í°ú °°Àº ±âº»°ªÀ¸·Î ¼³Á¤µÇ¾îÁ® ÀÖ´Ù.
...
[assembly: AssemblyVersion("1.0.*")]
...
|
ÀÌ ±âº» ¼³Á¤À» ±×´ë·Î »ç¿ëÇÏ´Â °Íµµ ³ª»ÚÁö´Â ¾Ê°ÚÁö¸¸, ¼¹ö ÄÁÆ®·ÑÀÇ ¾î¼Àºí¸® ¹öÀü Á¤º¸¸¦ Ȱ¿ëÇÏ¿© ³í¸®ÀûÀ¸·Î HTCs ÆÄÀÏ ¹öÀüÀ» °ü¸®ÇÑ´Ù´Â ÇöÀçÀÇ ³íÀǸ¦ À§Çؼ´Â ¹öÀü Á¤º¸¸¦ ¸í½ÃÀûÀ¸·Î ¼³Á¤ÇÏ´Â ÆíÀÌ ´õ ¹Ù¶÷Á÷ÇÒ °ÍÀÌ´Ù.
µû¶ó¼ ´ÙÀ½°ú °°ÀÌ ¹öÀü Á¤º¸¸¦ ¸í½ÃÀûÀ¸·Î Á÷Á¢ ¼³Á¤Çغ¸µµ·Ï ÇÏÀÚ.
´ç¿¬ÇÑ ¾ê±â°ÚÁö¸¸ ÀÌÁ¦ ÇØ´ç ¼¹ö ÄÁÆ®·Ñ ÇÁ·ÎÁ§Æ®¸¦ ÄÄÆÄÀÏÇÏ¸é ¹öÀü Á¤º¸°¡ 1.0.1.0 ÀÎ ¾î¼Àºí¸® DLL ÀÌ »ý¼ºµÈ´Ù.
...
[assembly: AssemblyVersion("1.0.1.0")]
...
|
´Ù½Ã º»·ÐÀ¸·Î µ¹¾Æ¿Í º¸ÀÚ.
¹æ±Ý ¿ì¸®µéÀº ¼¹ö ÄÁÆ®·ÑÀÇ ¾î¼Àºí¸® ¹öÀü Á¤º¸¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ý¿¡ °üÇØ¼ °£´ÜÇÏ°Ô ¾Ë¾Æº¸¾Ò´Ù.
±×·±µ¥ ÀÌ ¹æ¹ý°ú HTCs ÆÄÀÏÀÇ ¹öÀü °ü¸® »çÀÌ¿¡´Â ¼·Î ¾î¶°ÇÑ °ü°è°¡ Á¸ÀçÇÏ´Â °ÍÀϱî?
±× ´äÀº ¸Å¿ì °£´ÜÇѵ¥, HTCs ÆÄÀÏÀÌ »ý¼ºµÇ´Â ½ÃÁ¡¿¡ ¸®Ç÷º¼ÇÀ» »ç¿ëÇÏ¿© ¼¹ö ÄÁÆ®·ÑÀÇ ¹öÀü Á¤º¸¸¦ ¾ò°í ±× ¹öÀü Á¤º¸¸¦ ½ÇÁ¦·Î »ý¼ºµÇ´Â HTCs ÆÄÀϸíÀÇ ÀϺηΠ»ç¿ëÇÏ´Â °ÍÀÌ´Ù.
±×¸®°í HTCs ÆÄÀÏÀÇ ³»¿ëÀÌ ´Ù½Ã º¯°æµÇ´Â °æ¿ì¿¡´Â ¼¹ö ÄÁÆ®·Ñ ¾î¼Àºí¸® ÀÚüÀÇ ¹öÀü Á¤º¸¸¦ º¯°æÇÏ¿© DLL ÆÄÀÏÀ» Àç»ý¼ºÇÑ ´ÙÀ½, À¥ ÆäÀÌÁö °³¹ßÀڵ鿡°Ô ´Ù½Ã DLL ÆÄÀÏÀ» ¹èÆ÷ÇÏ¸é µÈ´Ù.
¸¸¾à ¶Ç´Ù½Ã HTCs ÆÄÀÏÀÇ ³»¿ëÀÌ º¯°æµÈ´Ù¸é À̹ø¿¡µµ ¼¹ö ÄÁÆ®·Ñ ¾î¼Àºí¸®ÀÇ ¹öÀü Á¤º¸¸¦ ¿ª½Ã ´Ù½Ã º¯°æÇÏ¿© ÄÄÆÄÀÏÇϰí Àç¹èÆ÷ÇÏ¸é µÈ´Ù.
¹°·Ð ·»´õ¸µµÇ´Â ÄÁÆ®·ÑÀÇ HTML ű׿¡µµ ¿ª½Ã ´ÙÀ½°ú °°ÀÌ ÇØ´ç ¹öÀü Á¤º¸°¡ ¹Ý¿µµÇ¾îÇá ÇÏ´Â °ÍÀº ´ç¿¬ÇÑ ÀÏÀÏ °ÍÀÌ´Ù.
...
<input defaultValue="0" name="txtOnlyDigit"
type="text" id="txtOnlyDigit" class="cs_textbox"
style="behavior:url('/aspnet_client/EgoCube/HTCs/HTCs_Numeric_Only_1.0.1.0.htc');" />
...
|
±×·¸´Ù¸é À̹ø¿¡´Â ±¸Ã¼ÀûÀ¸·Î °ú¿¬ ¾î¶»°Ô ¼¹ö ÄÁÆ®·Ñ ¾î¼Àºí¸®·ÎºÎÅÍ ¹öÀü Á¤º¸¸¦ Àоî¿À´ÂÁö ±× ¹æ¹ýÀ» ³íÀÇÇØº¼ Â÷·Ê´Ù.
¾Õ¿¡¼ °£´ÜÇÏ°Ô ¾ð±ÞÇß´ø °Íó·³ ¸®Ç÷º¼ÇÀ» »ç¿ëÇϸé ÀÌ ¹®Á¦´Â ½±°Ô ÇØ°áÇÒ ¼ö ÀÖ´Ù.
ÀÏ´Ü System.Reflection ³×ÀÓ½ºÆäÀ̽º·ÎºÎÅÍ Á¦°øµÇ´Â Assembly Ŭ·¡½ºÀÇ Á¤Àû ¸Þ¼µåÀÎ GetExecutingAssembly() ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© ÇöÀç Äڵ尡 ½ÇÇàµÇ°í ÀÖ´Â ¾î¼Àºí¸®¿¡ ´ëÇÑ ÂüÁ¶¸¦ Assembly Ŭ·¡½º ÇüÅ·Π¾ò´Â´Ù.
´ç¿¬ÇÑ ¾ê±â°ÚÁö¸¸ ÀÌ·¸°Ô ¾ò¾î³½ Assembly °³Ã¼´Â ¼¹ö ÄÁÆ®·Ñ ¾î¼Àºí¸®¸¦ °¡¸®Å°°í ÀÖ°Ô µÇ´Âµ¥, ÀÌ °³Ã¼ÀÇ ¸â¹ö ¸Þ¼µåÀÎ GetName() ¸Þ¼µå¸¦ ÅëÇØ¼ ¾ò¾î³¾ ¼ö ÀÖ´Â AssemblyName Ŭ·¡½º ŸÀÔ °³Ã¼ÀÇ Version ÇÁ·ÎÆÛƼ °ªÀ¸·Î °£´ÜÇÏ°Ô ¾î¼Àºí¸® ¹öÀü Á¤º¸¸¦ °¡Á®¿Ã ¼ö°¡ ÀÖ´Ù.
ÀÌ °úÁ¤ÀÌ ±¸ÇöµÈ ½ÇÁ¦ ÄÚµå´Â ´ÙÀ½°ú °°À¸¸ç ¸®¼Ò½º·ÎºÎÅÍ Stream °³Ã¼ Çü½ÄÀ¸·Î ÀоîµéÀÎ HTCs ÆÄÀÏÀÇ ³»¿ëÀ» º»·¡ÀÇ ÆÄÀϸí°ú ¾î¼Àºí¸®ÀÇ ¹öÀü Á¤º¸¸¦ °áÇÕÇÑ »õ·Î¿î ÆÄÀϸíÀ¸·Î ÀúÀåÇÏ´Â Àü¹ÝÀûÀÎ °úÁ¤À» º¸¿©ÁØ´Ù.
Äڵ带 Àß »ìÆìº¸¸é Assembly °³Ã¼ÀÇ ¸â¹ö ¸Þ¼µåÀÎ GetManifestResourceStream() ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© °£´ÜÇÏ°Ô HTCs ÆÄÀÏÀÇ ³»¿ëÀ» ¾ò¾î³»°í ÀÖ´Ù´Â Á¡ ¶ÇÇÑ ½±°Ô ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.
»ç½Ç ÀÌ ¸®¼Ò½º¶ó´Â °³³äÀº ´ëºÎºÐÀÇ À¥ °³¹ßÀڵ鿡°Ô´Â ±×´ÙÁö Ä£¼÷ÇÏÁö ¾ÊÀº ³¸¼± °³³äÀÌÁö¸¸ À©µµ¿ìÁî ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ßÀڵ鿡°Ô´Â ¸Å¿ì Ä£¼÷ÇÑ °³³äÀ¸·Î¼ ÀÌ¿Í °°Àº ¹æ½ÄÀ¸·Î ¸®¼Ò½º¸¦ Ȱ¿ëÇÏ´Â ±â¹ýÀÌ ±×´ÙÁö »õ·Î¿î ¹æ¹ýÀÎ °ÍÀº ¾Æ´Ï´Ù.
¿¹¸¦ µé¾î¼ EXE ÆÄÀÏÀ̳ª DLL ÆÄÀÏÀÇ ³»ºÎ¿¡ Á¸ÀçÇÏ´Â ¾ÆÀÌÄÜ µîÀÇ °æ¿ì¸¦ ¸Ó¸®¼Ó¿¡ ¶°¿Ã·Á º¸¸é ½±°Ô ÀÌÇØ°¡ °¥ °ÍÀÌ´Ù.
...
// ¸®¼Ò½º·ÎºÎÅÍ HTCs ÆÄÀÏÀ» Àд´Ù.
switch (this.HTCs)
{
case HTCsType.Numeric:
HTCsName = "HTCs_Numeric_Only";
break;
}
System.Reflection.Assembly objAssembly
= System.Reflection.Assembly.GetExecutingAssembly();
HTCsResourceName = HTCsRootNameSpace + "." + HTCsName + ".htc";
using (System.IO.Stream objStream
= objAssembly.GetManifestResourceStream(HTCsResourceName))
{
using (System.IO.StreamReader objSR = new System.IO.StreamReader(objStream))
{
HTCsCode = objSR.ReadToEnd();
}
}
// HTCs ÆÄÀÏ Á¸Àç Á¡°Ë ¹× »ý¼º
HTCsFullPathName = this.Page.Server.MapPath(this.ClientScriptsLocation())
+ "\\" + HTCsName + "_" + objAssembly.GetName().Version + ".htc";
if (!System.IO.File.Exists(HTCsFullPathName))
{
using (System.IO.StreamWriter objSW
= new System.IO.StreamWriter(HTCsFullPathName, false))
{
objSW.Write(HTCsCode);
}
}
...
|
ÀÌÁ¦ Áö±Ý±îÁö ³íÀÇÇÑ ³»¿ëµéÀ» ÇϳªÀÇ ¸Þ¼µå·Î ±¸ÇöÇÑ µÚ, ÀûÀýÇÑ ¼¹ö ÄÁÆ®·ÑÀÇ ¶óÀÌÇÁ ½ÎÀÌŬ ´Ü°è¿¡¼ ¸Þ¼µå¸¦ È£ÃâÇØÁֱ⸸ ÇÏ¸é ¸ðµç Áغñ°úÁ¤ÀÌ ¸¶¹«¸® µÈ´Ù.
ÇÊÀÚ´Â WriteHTCsFile() ¶ó´Â À̸§À¸·Î ÇØ´ç ¸Þ¼µå¸¦ ÀÛ¼ºÇÏ°í ºÎ¸ð Ŭ·¡½ºÀÎ WebControl Ŭ·¡½ºÀÇ OnInit() À̺¥Æ® Çîµé·¯ ¸Þ¼µå¸¦ ÀçÁ¤ÀÇÇÏ¿© ´ÙÀ½ÀÇ Äڵ忡¼ º¼ ¼ö ÀÖ´Â ¹Ù¿Í °°ÀÌ WriteHTCsFile() ¸Þ¼µå¸¦ È£ÃâÇÔÀ¸·Î¼ ½ÇÁúÀûÀÎ ±¸ÇöÀ» ó¸®Çϰí ÀÖ´Ù.
¹°·Ð ÀÌ¿Í °°ÀÌ ¼¹ö ÄÁÆ®·ÑÀÌ ·ÎµåµÉ ¶§¸¶´Ù ¸Å¹ø ¹Ýº¹ÇÏ¿© HTCs ÆÄÀÏÀÇ ÃßÃâ ¹× ÀúÀå ÀÛ¾÷À» ½ÇÇàÇÏ´Â °ÍÀº ÇÊ¿ä¾ø´Â ÆÛÆ÷¸Õ½º ºñ¿ëÀ» ¹ß»ý½ÃŰ°Ô µÇ¹Ç·Î HTCs ¼Ó¼ºÀÌ NotSet À¸·Î ¼³Á¤µÈ °æ¿ì¿¡´Â º°´Ù¸¥ ÀÛ¾÷À» ½ÇÇàÇÏÁö ¾Ê´Â µîÀÇ °£´Ü°£´ÜÇÑ ´ëÀÀ ÄÚµåµéÀÌ ½ÇÁ¦ ¸Þ¼µå¿¡´Â Ãß°¡µÇ¾îÁ® ÀÖ´Ù.
±×·¯³ª »ç½Ç º¸´Ù ¾ö°ÝÇÏ°Ô ¾ê±âÇÑ´Ù¸é ÄÚµåÀÇ È¿À²¼ºÀ̶ó´Â Ãø¸é¿¡¼ º¼ ¶§ ±× Á¤µµÀÇ ´ëó¸¸À¸·Î´Â ¸¹ÀÌ ºÎÁ·ÇÑ °ÍÀÌ »ç½ÇÀ̰í, º¸´Ù ±Ùº»ÀûÀÎ Á¢±Ù ¹æ¹ýÀÇ °³¼±ÀÌ ÀÌ·ç¾îÁ®¾ß ÇÒ °ÍÀÌ´Ù.
¿¹¸¦ µé¾î¼ ¼¹ö ÄÁÆ®·ÑÀÌ µðÀÚÀÎ ºä¿¡ µå·¡±× & µå¶øµÇ´Â ½ÃÁ¡ÀÌ¶ó´ø°¡ ¼¹ö ÄÁÆ®·ÑÀÇ Æ¯Á¤ ¼Ó¼º°ªÀÌ º¯°æµÇ´Â ½ÃÁ¡¿¡ HTCs ÆÄÀÏÀÇ ÃßÃâ ¹× ÀúÀå ÀÛ¾÷ÀÌ ¹Ì¸® ÀÌ·ç¾îÁö´Â µîÀÇ ¹æ¹ýÀ¸·Î ¸»ÀÌ´Ù.
±×·¯³ª º»¹®Àº ¾îµð±îÁö³ª ASP .NET »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ°ú HTCs ÆÄÀϰ£ÀÇ ¿¬µ¿¿¡ °üÇÑ °£´ÜÇÑ °³³äÀ» ¼³¸íÇÏ´Â °ÍÀÌ ±× º»·¡ÀÇ ¸ñÀûÀ̹ǷΠÀÌ ÁÖÁ¦¿¡ ´ëÇØ¼´Â ´õÀÌ»ó ¾ð±ÞÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
...
/// <summary>
/// WebControl.OnInit ¸Þ¼µå ÀçÁ¤ÀÇ
/// </summary>
/// <param name="e">À̺¥Æ® µ¥ÀÌÅͰ¡ µé¾î ÀÖ´Â EventArgs °³Ã¼</param>
protected override void OnInit(EventArgs e)
{
this.WriteHTCsFile();
base.OnInit(e);
}
...
|
¸¶Áö¸·À¸·Î »ìÆìº¸°íÀÚ ÇÏ´Â ºÎºÐÀº Áö±Ý±îÁö ³íÀÇÇÑ ³»¿ëµéÀ» ÅëÇØ¼, ¹Ì¸® ÁöÁ¤ÇÑ °æ·Î¿¡ ½ÇÁ¦·Î »ý¼ºµÈ ¹°¸®ÀûÀÎ HTCs ÆÄÀÏÀ» ¼¹ö ÄÁÆ®·ÑÀÇ ÃÖÁ¾ °á°ú¹°ÀÎ HTML ű×ÀÇ ·»´õ¸µ °á°ú¿¡ ¹Ý¿µ½ÃŰ´Â ÀÛ¾÷ÀÌ´Ù.
¿©·¯ºÐµéµµ ÀÌÁ¦´Â ÀÍÈ÷ ¾Ë°í ÀÖ´Â ¹Ù¿Í °°ÀÌ HTCs ÆÄÀÏÀº ÄɽºÄÉÀ̵ù ½ºÅ¸ÀÏ½ÃÆ®ÀÇ behavior ¼Ó¼ºÀ» ÅëÇØ¼ ¼³Á¤µÇ¾î Áø´Ù.
µû¶ó¼ ¿ì¸®µéÀÌ ¿øÇÏ´Â ÀÛ¾÷À» ó¸®Çϱâ À§Çؼ´Â ¾î¶°ÇÑ ¹æ½ÄÀ¸·ÎµçÁö ¼¹ö ÄÁÆ®·ÑÀÇ ÄɽºÄÉÀ̵ù ½ºÅ¸ÀÏ½ÃÆ® ¼³Á¤ °úÁ¤Áß¿¡ HTCs ¸¦ ¼³Á¤Çϱâ À§ÇÑ ´Ü°è°¡ Ãß°¡µÇ¾î¾ß¸¸ ÇÑ´Ù´Â °á·ÐÀÌ ÀÚ¿¬½º·´°Ô À̲ø¾î Áø´Ù.
°Ô´Ù°¡ °æ¿ì¿¡ µû¶ó¼´Â defaultValue ¿Í °°ÀÌ HTCs ³»ºÎ¿¡¼ Ãß°¡ÀûÀ¸·Î Á¤ÀÇÇÑ ¼Ó¼ºµéÀ̳ª À̺¥Æ® µîµµ ¼¹ö ÄÁÆ®·ÑÀÇ HTML ¼Ó¼ºÀÇ ÀϺηΠ·»´õ¸µµÇ¾î¾ß¸¸ ÇϹǷΠÀÌ·¯ÇÑ ºÎºÐµéµµ °°ÀÌ °í·ÁµÇ¾îÁ®¾ß¸¸ ÇÏ´Â °ÍÀÌ´Ù.
¹°·Ð ASP .NET ÀÇ À¥ »ç¿ëÀÚ ÁöÁ¤ ¼¹ö ÄÁÆ®·Ñ °³¹ßÀ» À§ÇÑ ±â¹Ý ±¸Á¶¿¡¼´Â ¿ì¸®µéÀÇ ±â´ë¿¡ ¾î±ß³ªÁö ¾Ê°Ô ÀÌ·¯ÇÑ ÀÛ¾÷µéÀ» ó¸®Çϱâ À§ÇÑ ÅºÅºÇÑ ¹æ¹ýµéÀ» Á¦°øÇØÁֹǷΠÀ̸¦ Ãæ½ÇÇÏ°Ô ±¸ÇöÇØÁֱ⸸ ÇÏ¸é ¿øÇÏ´Â °á°ú¸¦ ±×´ÙÁö ¾î·ÆÁö ¾Ê°Ô ¾òÀ» ¼ö ÀÖ´Ù.
±¸Ã¼ÀûÀ¸·Î ¸»Çؼ AddAttributesToRender() ¸Þ¼µå¸¦ ÀçÁ¤ÀÇÇØÁֱ⸸ ÇÏ¸é µÇ´Âµ¥, ÀÌ ¸Þ¼µå´Â WebControl Ŭ·¡½º·ÎºÎÅÍ »ó¼ÓµÇ¸ç ¼¹ö ÄÁÆ®·ÑÀÇ HTML ű׿¡ ·»´õ¸µµÇ¾îÁú HTML ¼Ó¼º ¶Ç´Â ÄɽºÄÉÀ̵ù ½ºÅ¸ÀÏ½ÃÆ® ¼Ó¼ºÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Â º¸ÀåµÈ ±âȸ¸¦ Á¦°øÇØÁØ´Ù.
¾Æ·¡ÀÇ Äڵ尡 ¹Ù·Î ±× ½ÇÁ¦ °á°ú¹°ÀÌ´Ù.
...
/// <summary>
/// WebControl.AddAttributesToRender ¸Þ¼µå ÀçÁ¤ÀÇ
/// </summary>
/// <param name="writer">
/// Ŭ¶óÀÌ¾ðÆ®¿¡¼ HTML ÄÁÅÙÆ®¸¦ ·»´õ¸µÇϱâ À§ÇÑ
/// Ãâ·Â ½ºÆ®¸²À» ³ªÅ¸³»´Â System.Web.UI.HtmlTextWriter °³Ã¼
/// </param>
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
// HTCs ¸ðµå·Î µ¿À۵Ǵ °æ¿ì¿¡¸¸ ¼Ó¼º°ªÀ» Ãß°¡ÇÑ´Ù.
if (this.HTCs != HTCsType.NotSet)
{
if (this.HTCs == HTCsType.Numeric)
{
// ½ºÅ¸ÀÏ ¼Ó¼º°ª¿¡ HTC ¼³Á¤
System.Reflection.Assembly objAssembly
= System.Reflection.Assembly.GetExecutingAssembly();
if (this.Site == null || !this.Site.DesignMode)
writer.AddStyleAttribute("behavior",
"url('" + this.ClientScriptsLocation()
+ "HTCs_Numeric_Only_" + objAssembly.GetName().Version
+ ".htc')");
// defaultValue ¼Ó¼º°ª ¼³Á¤
if (HTCsDefaultValue != null && HTCsDefaultValue.Trim().Length > 0)
writer.AddAttribute("defaultValue", this.HTCsDefaultValue.Trim());
}
}
base.AddAttributesToRender(writer);
}
...
|
¸®Ç÷º¼ÇÀ» ÅëÇØ¼ ¾î¼Àºí¸®ÀÇ ¹öÀü Á¤º¸¸¦ Àаí, ±× ¹öÀü Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î HTCs ÀÇ Àüü ÆÄÀϰæ·Î¸¦ ±¸¼ºÇÑ ´ÙÀ½ HtmlTextWriter °³Ã¼·ÎºÎÅÍ Á¦°øµÇ´Â AddStyleAttribute() ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© ÄɽºÄÉÀ̵ù ½ºÅ¸ÀÏ½ÃÆ® ¼Ó¼º¿¡ HTCs °ü·Ã ¼³Á¤À» ¹Ý¿µ½Ã۰í ÀÖ´Ù.
±×¸®°í ¿ª½Ã ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î AddAttribute() ¸Þ¼µå¸¦ »ç¿ëÇØ ·»´õ¸µµÇ¾îÁú ¼¹ö ÄÁÆ®·ÑÀÇ HTML ű׿¡ HTCs ¿¡ ±¸ÇöµÈ ¼Ó¼ºÀ» Ãß°¡Çϰí ÀÖ´Ù.
±× °á°ú·Î¼ »ý¼ºµÇ´Â HTML ű״ ´ÙÀ½°ú °°À¸¸ç, »ç½Ç»ó ÀÌ HTML űװ¡ º»¹®ÀÇ ÃÖÁ¾ °á°ú¹°ÀÎ ¼ÀÀÌ´Ù.
...
<input defaultValue="0"
name="txtOnlyDigit" type="text" id="txtOnlyDigit" class="cs_textbox"
style="behavior:url('/aspnet_client/EgoCube/HTCs/HTCs_Numeric_Only_1.0.1.1.htc');" />
...
|
ÀÌ·¸°Ô ÇØ¼ ÀåÀå 10 °³¿ù µ¿¾ÈÀ» ²ø¾î¿À´ø º»¹®ÀÇ ÀÛ¼ºÀÌ ¸¶¹«¸® µÇ¾ú´Ù.
º»¹®ÀÇ ³»¿ë ±× ÀÚüµµ ¿©·¯¸ð·Î ¹ÌÈíÇÑ ºÎºÐµéÀÌ ¸¹°Å´Ï¿Í ³Ê¹«³ªµµ ¿À·£ ±â°£ µ¿¾È ÀÛ¼ºµÈ °ü°è·Î ÃÖ±Ù¿¡ ÈÁ¦°¡ µÇ°í ÀÖ´Â ´Ù¾çÇÑ ±â¼úÀûÀÎ À̽´µé°ú´Â »ó´çÈ÷ µ¿¶³¾îÁø ÁÖÁ¦°¡ µÇ¾î¹ö¸° °¨µµ ¾øÁö´Â ¾ÊÀ» °ÍÀÌ´Ù.
±×·¯³ª º»¹®¿¡¼ ³íÀÇÇϰí ÀÖ´Â À̽´µé ¶ÇÇÑ ±× ³ª¸§´ë·Î Àǹ̸¦ °¡Áö°í ÀÖ´Â ±ÛÀ̶ó°í »ý°¢ÇÏ¿© µÚ´Ê°Ô³ª¸¶ ±ÞÇÏ°Ô ±ÛÀ» ¸¶¹«¸®ÇÏ°Ô µÇ¾ú´Ù.
¸¶Áö¸·À¸·Î ±× 10 °³¿ùÀ̶ó´Â ½Ã°£ÀÌ ÇÊÀÚ¿Í ¿©·¯ºÐµéÀ» ºñ·ÔÇÑ ASP .NET °³¹ßÀڵ鿡°Ô °¡Á®¿Â º¯È¿¡ ´ëÇØ¼ ÇÑ ¹ø »ý°¢ÇØ º¸°í¼ º»¹®À» Á¤¸®ÇϰíÀÚ ÇÑ´Ù.
¸ÕÀú °³ÀÎÀûÀ¸·Î ÇÊÀÚ°¡ °¡Àå ¸ÕÀú ¼Õ²Å°í ½ÍÀº º¯È·Î´Â ÆÄÀÌ¾îÆø½ºÀÇ ¾àÁøÀ» µé ¼ö ÀÖ´Ù.
¹°·Ð ÆÄÀÌ¾îÆø½º´Â µîÀå ±× ÀÚüºÎÅͰ¡ ¸Å¿ì È·ÁÇϱ⵵ ÇßÁö¸¸, ÃÖ±Ù ¸î ´Þ°£ ÀÌ·ç¾îÁø ÆÄÀÌ¾îÆø½ºÀÇ Á¸Àç°¨ È®»êÀº À¥ °³¹ßÀÚµéÀÌ °áÄÚ ¹«½ÃÇÒ ¼ö ¾ø´Â ¼öÁØÀ¸·Î±îÁö Ä¡´Þ¾Ò´Ù¶ó´Â °³ÀÎÀûÀÎ °á·ÐÀÌ´Ù.
´ÜÀûÀ¸·Î ÃÖ±ÙÀÇ MSDN ¸Å°ÅÁøÀÇ ±â»ç¿¡¼´Â ±â»ç¿¡¼ ÀÛ¼ºÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ尡 ÆÄÀÌ¾îÆø½º¿¡¼ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÔÀ» º¸¿©ÁÖ±â À§ÇÑ À̹ÌÁö ĸÃç±îÁö ³ª¿Ã Á¤µµ´Ï ¸»ÀÌ´Ù.
¾ÆÁ÷±îÁö´Â ÀÌ¿Í °°Àº ÀÏ·ÃÀÇ º¯ÈµéÀÌ ±â¾÷üÀÇ ¼Ö·ç¼Ç ±¸ÃàÀ» ÁÖ¿ä ¾÷¹«·Î »ï°í ÀÖ´Â ÇÊÀÚ¿Í °°Àº °³¹ßÀڵ鿡°Ô±îÁö´Â º°´Ù¸¥ ¿µÇâ·ÂÀ» ¹ÌÄ¡°í ÀÖÁö ¸øÇϰí ÀÖ´Ù¶ó°í »ý°¢Çϰí´Â ÀÖÁö¸¸,
HTCs °³¹ßÀ̳ª ASP .NET À¥ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ °³¹ß°ú °°ÀÌ Àüü °³¹ß ¹üÀ§»ó¿¡¼ ¾î¶°ÇÑ °øÅë ºÐ¸ð¸¦ ´ã´çÇϰí ÀÖ´Â °³¹ßÀÚµéÀ̶ó¸é
Áö±Ý±îÁöº¸´Ù »ó´ëÀûÀ¸·Î °í¹ÎÇØ¾ß¸¸ µÉ À̽´µéÀÌ Á¶±Ý ´õ ´Ã¾î³µÀ¸¸ç, °Ô´Ù°¡ Á¶±Ý ´õ ¹Î°¨ÇØÁö±â±îÁö Çß´Ù´Â Á¡À» ÀÎÁ¤ÇÒ ¼ö ¹Û¿¡ ¾øÀ» °ÍÀÌ´Ù. µû¶ó¼ º»¹®ÀÇ ÁÖÁ¦À̱⵵ ÇÏ¸ç º»¹®¿¡¼ °è¼ÓÇØ¼ °Å·ÐµÇ¾îÁö°í ÀÖ´Â HTCs ¶ó´Â ´Ü¾î¸¦ À¥ ºê¶ó¿ìÀú ȣȯ ÀÚ¹Ù½ºÅ©¸³Æ®¶ó´Â ´Ü¾î·Î ´ë½ÅÇØ¾ß¸¸ ÇÏ´Â °æ¿ìµµ ÃæºÐÈ÷ ÀÖÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
±×·±µ¥ °³ÀÎÀûÀ¸·Î »ó´çÈ÷ Àç¹ÌÀÖ´Ù°í ´À²¸Áö´Â Á¡Àº ÇÊÀÚ°¡ µÎ ¹øÂ° Ä¿´Ù¶õ º¯È·Î Áö¸ñÇϰíÀÚ ÇÏ´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ºñÁÖ¾ó ½ºÆ©µð¿À 2005 ÀÇ Á¤½ÄÃâ½Ã¿Í
±×¿¡ µû¶ó Á¡ÁøÀûÀ¸·Î Áõ°¡µÇ´Â ASP .NET 2.0 ÀÇ µµÀÔÃß¼¼¾ß¸»·Î ASP .NET °³¹ßÀÚµéÀÌ ¾Õ¿¡¼ °Å·ÐµÇ¾ú´ø º¯È¿¡ ´ëóÇϱâ À§Çؼ ½ÃµµÇÒ ¼ö ÀÖ´Â °¡Àå Àû±ØÀûÀÎ ¹æ¹ýÀÇ ½ÃÀÛÁ¡ÀÌ ¾Æ´Ñ°¡ ÇÏ´Â Á¡ÀÌ´Ù.
¹°·Ð ÀÌ¿Í °°Àº ÁÖÀåÀº Áö±ØÈ÷ °³ÀÎÀûÀÎ ÇÊÀÚÀÇ »ç°ßÀÏ »ÓÀÌÁö¸¸, ³ª¸§´ë·Î ÇÊÀÚ°¡ ÀÌ·¸°Ô »ý°¢À» Çϰí ÀÖ´Â ÀÌÀ¯¿¡´Â ´ÙÀ½°ú °°Àº µÎ °¡Áö ±â¼úÀûÀÎ ±Ù°Å°¡ Á¸ÀçÇÑ´Ù.
ù ¹øÂ° ±Ù°Å´Â ASP .NET 2.0 ¿¡¼ Á¦°øµÇ´Â ¸®¼Ò½º ±â¹ÝÀÇ ½ºÅ©¸³Æ® ÄÚµå °ü¸®´Ù.
º»¹®ÀÇ ÈĹݺο¡¼ ³íÀÇÇϰí ÀÖ´Â ÁÖÁ¦´Â ÇÊÀÚ°¡ ³ª¸§´ë·Î ±¸ÇöÇÑ ¸®¼Ò½º ±â¹ÝÀÇ ½ºÅ©¸³Æ® (Æ÷°ýÀûÀÎ °üÁ¡¿¡¼ HTCs ¿ª½Ãµµ ½ºÅ©¸³Æ®À̹ǷÎ) °ü¸® ±â¹ý¿¡ °üÇÑ °ÍÀε¥, ASP .NET 2.0 ¿¡¼´Â ÇÁ·¹ÀÓ¿öÅ© Â÷¿ø¿¡¼ ¸®¼Ò½º¿¡ ±â¹ÝÇÑ ½ºÅ©¸³Æ® ÄÚµå °ü¸® ±â¹ýÀ» º¸´Ù dzºÎÇÏ°í Æí¸®ÇÑ ¹æ¹ýÀ¸·Î Á¦°øÇØÁÖ°í ÀÖ´Ù.
µû¶ó¼ º»¹®¿¡¼ »ìÆìºÃ´ø ¹Ù¿Í °°ÀÌ ¸®¼Ò½º·ÎºÎÅÍ ½ºÅ©¸³Æ® Äڵ带 °¡Á®¿À±â À§ÇØ ±»ÀÌ ÀÌ·±Àú·± ¹æ¹ýÀ» µ¿¿øÇÏ¿© ³ÇØÇÑ Äڵ带 ÀÏÀÏÀÌ ±¸ÇöÇÒ Çʿ䰡 ¾ø¾îÁø °ÍÀÌ´Ù.
µÎ ¹øÂ° ±Ù°Å´Â ÄÚµå¸í ATLAS ·Î Àß ¾Ë·ÁÁø ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ AJAX ÇÁ·¹ÀÓ¿öÅ©°¡ ¹Ù·Î ±×°ÍÀÌ´Ù.
´ëºÎºÐ ¸¹Àº ºÐµéÀÌ AJAX ¸¦ ±â¼úÀûÀÎ °üÁ¡¿¡¼ »ìÆìº¼ ¶§ ÇÑ °¡Áö °£°úÇÏ°í ³Ñ¾î°¡´Â ºÎºÐÀÌ ÀÖ´Ù.
ºÐ¸íÈ÷ ÀÌ ±â¼úÀ» µÞ¹ÞÄ§ÇØÁÖ´Â ÇÙ½É ¿ä¼ÒÁß ÇÑ °¡Áö°¡ ÆäÀÌÁö¸¦ °»½ÅÇÏÁö ¾Ê°í¼µµ ¼¹ö´Ü°ú µ¿±âÀû, ¶Ç´Â ºñµ¿±âÀûÀ¸·Î µ¥ÀÌÅ͸¦ ÁÖ°í ¹Þ°Ô ÇØÁÖ´Â ¸ÅÄ¿´ÏÁòÀ̶ó´Â »ç½ÇÀ» ºÎÀÎÇÒ ¼ö ÀÖ´Â »ç¶÷Àº ¾Æ¹«µµ ¾øÀ» °ÍÀÌ´Ù.
±×·¯³ª ÀÌ·¯ÇÑ ¼¹ö´Ü°úÀÇ Åë½ÅÀ̶ó´Â Ãø¸éÀÌ ³Ê¹« °Á¶µÈ ³ª¸ÓÁö ÆäÀÌÁö ·»´õ¸µÀ» À§Çؼ ÇÊ¿äÇÑ DOM °ú ½ºÅ©¸³Æ®´Ü ±¸Çö¿¡ ´ëÇÑ Á߿伺ÀÌ ¹«½ÃµÇ¾îÁö´Â °æÇâÀÌ ¸Å¿ì °ÇÏ´Ù´Â Á¡ÀÌ´Ù.
ÀÌ ºÎºÐÀÌ ¸¸Á·½º·´°Ô Áö¿øµÇÁö ¾Ê´Â´Ù¸é AJAX ´Â ¶Ç ´Ù¸¥ ÇüÅÂÀÇ ¾÷¹« Áõ°¡¸¸À» °¡Á®¿Ã »ÓÀ̶ó´Â °ÍÀÌ ÇÊÀÚÀÇ »ý°¢ÀÌ´Ù.
±×·¯³ª ´ÙÇེ·´°Ôµµ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼ ±¸ÇöÇÑ AJAX ¶óÀ̺귯¸®ÀÎ ATLAS ¿¡¼´Â °´Ã¼ÁöÇâÀûÀÎ ¹æ¹ýÀ¸·Î ´ëºÎºÐÀÇ À¥ ºê¶ó¿ìÀú»ó¿¡¼ µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î Ŭ¶óÀÌ¾ðÆ®´Ü Ã³¸®¸¦ ±¸ÇöÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇØÁִ Ŭ¶óÀÌ¾ðÆ® ÀÚ¹Ù½ºÅ©¸³Æ® ¶óÀ̺귯¸®¸¦ Áö¿øÇØÁֹǷΠÀ¥ °³¹ßÀÚ°¡ Å©·Î½º ºê¶ó¿ì¡À» À§ÇØ Ä¿´Ù¶õ ³ë·ÂÀ» ±â¿ïÀÌÁö ¾Ê´õ¶óµµ °íǰÁúÀÇ °á°ú¹°À» ¾òÀ» ¼ö ÀÖ°Ô ÇØÁØ´Ù.
¾ÆÁ÷±îÁö ATLAS °¡ Á¤½ÄÀ¸·Î ¹èÆ÷µÇÁö´Â ¾ÊÀº »óȲÀ̰í, ÇÊÀÚÀÇ ATLAS ¿¡ ´ëÇÑ Áö½Äµµ ¸Å¿ì ºÎÁ·ÇÑ ÆíÀ̱â´Â ÇÏÁö¸¸ °¨È÷ ´Ü¾ðÄÁµ¥ ÇູÇÑ ±â´ë¸¦ ÇØµµ ÁÁÀ» °ÍÀ̶ó°í ¹Ï´Â´Ù.
áä