ASP.NET Note
¥»ºô¶¥H¥´³yµL»Ùê¾\Ū¬°¥Ø¼Ð¡A¥i¥H¥Î¥ô¦óÂsÄý¾¹¨ÓÆ[¬Ý¥»ºô¶
.NET Framework
. NET ¬O·L³nÄ~¨ä DNA(Distributed interNet Applications) ¬[ºc¤§«á¡A©Ò´£¥X¤U¤@¥Nªº¤À´²¦¡³nÅéÀ³¥Î¬[ºc¡A¥¦ªºµo®i¤è¦V¬On«Øºc¤@Өϥκô»Úºô¸ô¶}©ñ¼Ð·Ç ( ¦p¡G HTTP ¡B XML ¡B SOAP¡K µ¥ ) ªºÀ³¥Îµ{¦¡¶}µo»P°õ¦æªºÀô¹Ò¡A¨Ï¥ô¦ó¤H±q¥ô¦ó¦a¤è¡A¦b¥ô¦ó®É¶¡¨Ï¥Î¥ô¦ó¸Ë¸m³£¯à¦s¨úºô»Úºô¸ô¤W±o¸ê·½»PªA°È¡C
¦b·L³nªº³W¹º¤U¡A.NET ¥]§t¤F¤¤jµo®iªº¥D¶b
- Ó¤H¹q¸£»P´¼¼z«¬¸Ë¸m¡G Longhorn¡BWindows XP¡BPocket PC¡BWindows CE ¡B Stinger ¤â¾÷ OS
- ¨Ï¥ÎªÌÅéÅç¡G Passport
- Web Service¡G ÂÇ¥Ñ XML ¤Î SOAP ÅýÀ³¥Î³nÅé¯à¥H Internet ¬°¥¥x¡A¹B¥Î XML ªº®æ¦¡¨Ó¶Ç»¼¡C
- ¦øªA¾¹¡G Windows.NET Server ¡BLonghorn Server
- ¶}µo¤u¨ã¡G Visual Studio.NET¡BC#.NET¡BVisualBasic.NET
nÁA¸Ñ.NET ªºFramework¥i±q²¤Æªº°ª¶¥µ²ºc¨Ó¬Ý
²³¦hªº»y¨¥»P¶}µo¤u¨ã¡A¨Ò¦p VB, C#, J#, C++ |
°ò¦Ãþ§Oµ{¦¡®w(Base Class Library ; BCL) |
¦@³q»y¨¥°õ¦æÀô¹Ò(Common Language Runtime ; CLR) |
.NETÀ³¥Îµ{¦¡¦³2¤jÃþ
- Win Form¡G«üªº¬O¤@¯ë¦b¨Ï¥ÎªÌ¹q¸£¤¤°õ¦æªºÀ³¥Îµ{¦¡
- Web Form¡GWebÀ³¥Îµ{¦¡¡A«üªº«K¬OASP.NET(¥HÃþ§Oª«¥óªº§Î¦¡)
¦w¸Ë
- ¹ï©óWinXP§@·~¨t²Î¡A¥²¶·¥ý¦w¸Ë¦nIIS¡A¥BIIS¤¤ÁÙ¥²¶·¦w¸Ë FrontPage 2000 Server Extensions ³o¶µ¤l¤¸¥ó¡C
- µM«á¦w¸Ë¥H¤Uªº.NET Framework
Y»Ýn°õ¦æJ#, «hn¥t¥~¦w¸Ë¤U¦C®M¥ó
Microsoft Visual J# .NET¥iÂà´²µo®M¥ó 1.1 ª©
Microsoft Visual J# .NET¥iÂà´²µoÁcÅ餤¤å»y¨¥®M¥ó 1.1 ª©
¶}µo¤u¨ã
Visual Web Developer 2005 Express Edition(VWD)
Visual Web Developer 2005 Express Edition ´£¨Ñ¶}©l¨Ï¥Î ASP.NET 2.0 «Ø¥ß Web À³¥Îµ{¦¡©Ò»Ýªº¤u¨ã¡C¥Hµ{¦¡½X«á¸m(CodeBehind)ªº·§©À±Nµe±»Pµ{¦¡½X¤ÀÂ÷¡A¥Hweb form¬°¨Ò¡Aaspx¦s©ñªº¬O»Pµe±¦³Ãöªºhtml»Pserver control¡A¥t¥~·|²£¥Í¤@Ó¦P¦Wªºvbµ{¦¡¦s©ñ¨Æ¥ó»PÅÞ¿è¡A¥¦´£¨Ñ¤F¡G
- ¤º«ØªºWeb Server¡A¥i§Ö³t¶i¦æ¹wÄýµ²ªG¡C
- ¤º«Øªº SQL Server 2005 Express¡AÃþ¦ü¤§«eªºMSDE¬O¤@Ó§K¶O¥B»´¶q¤Æªº SQL Server¡C
- ¤ä´©»y¨¥¡GVisual Basic¡BC# ¤Î J#¡C
- ´£¨Ñ®e©ö¨Ï¥Îªº©ì©ñ¤¶±¨Ó«Ø¥ß Web À³¥Îµ{¦¡¡C
- ¥\¯à±j¤jªºµ{¦¡½X½s¿è¾¹¡A¨ã IntelliSense ¥\¯à¡C
- ´£¨Ñ¦hºØ²{¦¨ªº®M¥ó¡B¨Ò¦pPersonal Web ¤Jªù®M¥ó¡A¥i§Ö³t¶i¤J Web ¶}µo»â°ì¡C
Microsoft ASP.NET Web Matrix
Web Matrix ¬O·L³n§¹¥þ¥Hc#¹ê§@¥X¨ÓªºWindows Form(Client-Side UI)ªººô¶µ{¦¡IDE¶}µo¤u¨ã¡AÁöµM¨Ï¥Î¤¶±Ãþ¦üVisual Studio.NET¦ý¹ê»Ú¬O¥H´O¤J¦¡(Embedded)ªº·§©À¨Óªí²{¡A¨äµ{¦¡½X»Pµe±©ñ¦b¦P¤@ÓÀɮפº(CodeInline)¡CWeb Matrix¬O¤@Ó¡¨Community Project¡¨¡A¨Ï¥ÎªÌ¥i¥H³z¹L½u¤WªÀ¸sªº°Q½×¤è¦¡¡A°w¹ï·P¿³½ìªº¶µ¥Ø´£¥X°ÝÃD»P¦^À³¡A¥i±¤ªº¬O¤¤¤åªº¤ä´©«×¤£¨Î ¡C
Web Matrix»PVisual Studio.NET©|¦³Y¤z®t²§:
1. Web MatrixÀ³¥Îµ{¦¡¤£¬O¥H±M®×«¬¦¡¶}±Ò¡AÀÉ®×¶¡¦U¦Û¿W¥ß¡C
2. Web Matrixªºµ{¦¡¼¶¼g°Ï¤£´£¨ÑIntellisenseªºÄݩʴ£¥Üµ¡®æ¡C
3. Web MatrixÀÉ®×µLªk¦Û°Ê½sͦ¨DLL¡A¦Ó¶·³z¹LCommand Line¦Û¦æ½sĶ¡C
4. Web Matrix IDE´£¨Ñ.NET Framework Class LibraryÄݩʬd¸ßµøµ¡»P½u¤W°Q½×°Ï³sµ²¡C
5. Web Matrixµ{¦¡§K¶O¤U¸ü»P¨Ï¥Î¡C
#develop
#develop (°á¦¨¡u Sharp Develop¡v) ¬O¤@®M¿í´`GPL±ÂÅvªº¦Û¥Ñ³nÅé¡A¥i¦b·L³nªº.NET¥¥x¤W½s¼gC#»PVB.NETªºµ{¦¡
Mono
- Mono ¬O¤@®M.NET¬[ºcªº¶}©ñì©l½Xµo®i¥¥x¡A¥iÅý³nÅé¶}µoªÌ¥H¨ã¥Í²£¤Oªº¤è¦¡»´©öµo®i¥X¸ó¥¥xªº¸Ñ¨M¤è®×¡C
- Mono's .NET ¹ê§@¤FC#»PCLR¦b ECMAªº¼Ð·Ç(ECMA-334©MECMA-335)
¦@³q»y¨¥°õ¦æÀô¹Ò(Common Language Runtime;CLR)
¶Ç²Îªºµ{¦¡½sĶ¤è¦¡¬O±Nì©lµ{¦¡½Xª½±µ½sͦ¨¹q¸£¯àª½±µ°õ¦æªºì¥Í½X (Native Code) ¡A¥H°õ¦æÀɪº§Î¦¡Àx¦s¡A¦ý¬O³o¼Ë·|µo¥Í¬Y¥x¾÷¾¹¤W½s͹Lªº¥i°õ¦æÀɦb¥t¤@¥x¾÷¾¹¤£¯à¥¿±`°õ¦æ¡C
¦Ó¦b .NET Framework Àô¹Ò¤U¡ACLR(¦@³q»y¨¥°õ¦æÀô¹Ò) ¬°.NETÀ³¥Îµ{¦¡´£¨Ñ¤F¤@Ó¸ó¥¥xªº°õ¦æÀô¹Ò¡A¤@Ó .NET À³¥Îµ{¦¡ªºì©l½X·|¥ý³z¹L IL (Intermediate Language) ½s;¹½sĶ¡A¦pªG¨S¦³»yªk¤Wªº¿ù»~¡A´N·|³Q¥[¤W Metadata ¤ÞÀº©Ò²£¥Íªº Metadata ¡A»Pì©l½X²£¥Íªº¤¤¤¶»y¨¥ (Intermediate Language ¡A IL) ¡A¤@°_©ñ¦b¥Øªº®æ¦¡Àɮפ¤¡A³q±`¬O«ü¥i°õ¦æÀÉ (EXE) ©Î¬O°ÊºA³s±µÀÉ (DLL) ¡A¤]ºÙ¬°²Õ¥ó(Assembly)©ÎPE¡A¦ý¬O³o¨Ã¤£¬O¯u¥¿¥i¥Hª½±µ¥ÑCPU°õ¦æªºÀɮסA¦]¬°IL½s;¹¥u¬O±Nì©lµ{¦¡½X½sͦ¨¤@Ó¤¤¶¡½X¡A§Ú̺٬°MSIL (Microsoft Intermediate Language)¡A³oºØIL¥²¶·¦A¸g¹L²Ä¤G¦¸½sĶ«á¤~·|²£¥Í¯u¥¿¥i¥H¥ÑCPU°õ¦æªº°õ¦æÀÉ¡A¦P®É¦pªG¦b½s͹Lµ{»Ýn¥Î¨ì¨ä¥Lµ{¦¡®w¡A¤¤¶¡·|¦A¸g¹L¤@Ó³sµ²µ{¦¡ (Linker) ¨Ó§¹¦¨²Õ¦Xµ{¦¡½Xªº°Ê§@¡C
¹ê»Ú°õ¦æ®É¡ACLR·|±Ò°Ê¤@Ó§Y®É½s;¹ (Just In Time Compiler ¡A JIT Compiler) ¡A±N°õ¦æÀɤ¤ªº¤¤¤¶»y¨¥Âà´«¦¨ì¥Í½X¨Ã¥æ¥Ñ§@·~¨t²Î°õ¦æ¡C¦p¦¹¡A¤£½×¬O¨Ï¥Î¨º¤@ºØ¤ä´© .NET µ{¦¡»y¨¥¼¶¼gªºµ{¦¡¡A©Ò²£¥Íªº¤¤¤¶»y¨¥¬Ò¬Û¦P¡C±N¦¹¤¤¤¶µ{¦¡½X©ñ¸m©ó¤w¦w¸Ë Microsoft .NET Framework ªº¹q¸£¤W§¡¥i¥¿±`°õ¦æ¦Ó¤£½×¦Ò¼{§@·~¨t²Î©ÎµwÅ骺¤£¦P¡C
CLR°£¤Ft³d¤Wz°õ¦æµ{¦¡¤§¥~¡AÁÙn´£¨Ñ°O¾ÐÅéºÞ²z¡B°õ¦æºüºÞ²z (thread management)¡B¦w¥þºÞ²z¡Bª©¥»ºÞ²z¡B¨Ò¥~³B²z¡B»P¥Í©R¶g´ÁºÊ·þµ¥®Ö¤ßªA°È¡C
Metadata
¦b²Õ¥ó¤¤°£¤FIL code¤§¥~¡AÁÙ¥]§t¤F¤@¥÷Metadata¡A©Ò¿×ªºMetadata«üªº¬O¥Î¨Ó´yz¸ÓAssemblyªº¸ê°T¡A¨Ò¦pª©¥»¡Bµ{¦¡¤º©Ò¥]§t©Î¤Þ¥ÎªºÃþ§O¡B°O¾ÐÅé¸ê·½ªº°t¸m¡B IL ½sͦ¨ì¥Í½X©Ò»Ýªº¸ê°T¤Î¦w¥þºÞ²z¡Kµ¥¡A¦]¦¹¥un¤@ÓAssembly´N¥i¥H¥]§t©Ò¦³»Ýnªºµ{¦¡¡B¸ê·½¡B¥H¤Î¦Û§Ú´yz¸ê°T¡A¤]´N¬O»¡Assembly¤£¦A»Ýn¦p¦PCOM¤¸¥ó¤@¼Ë¥²¶·¦b¨t²Îµn¿ý (Registry) ¤¤µù¥U¡AÁ×§K¤FDLL Hellªº±¡§Î¡C
»PJavaªº¤ñ¸û
- ¬Û¹ï©óJavaªºVirtual Machine, .NETºÙ¬°CLR
- ¬Û¹ï©ó Java ªº Bytecode , .NET ºÙ¤§¬°¥HMetadata+ IL (Intermediate Language) )»y¨¥ªºManaged Code
¦@³q«¬§O¨t²Î(Common Type System ; CTS)
- ¦@³q«¬§O¨t²Î(Common Type System,CTS)¬O¹F¦¨¸óµ{¦¡»y¨¥¾ã¦XªºÃöÁä¡CCTS©w¸q¤F¤@²Õ¼Ð·Çªº«¬§O©M«Ø¥ß·s«¬§Oªº³W«h(CLRª¾¹D¦p¦ó¥h²£¥Í©M°õ¦æ³o¨Ç«¬§O)¡A¥u¦³«Ø¥ß¦b¬Û¦Pªº«¬§O¨t²Î¤W¡A¤£¦P»y¨¥¶¡¤~¦³¥i¯à¤¬³q¡C
- ¥ô¦óµ{¦¡»y¨¥¡A¦pªG·Qn¦b CLR ¤W°õ¦æ¡A´N¥²»Ý´£¨Ñ¤@ӲŦXCTS³W½dªº½s;¹(Compiler)©ÎÂà;¹(Interperter)¡A±N¦¹»y¨¥ªºµ{¦¡½sͦ¨ CLR ©Ò»{ÃѪº metadata ¥H¤Î IL¡C
- CTS ³W©w¡G½s¿è¾¹©ÎÂà;¹¥²¶·§Q¥ÎCLR´£¨Ñ³o¶µªA°È¥h©w¸q«¬§O¡BºÞ²z¤¸¥ó¡B¥H¤Î°õ¦æ¤¸¥ó¤èªkªº©I¥s¡A¦Ó¤£¯à§Q¥Î¶}µo¤u¨ã©Îµ{¦¡»y¨¥¥»¨¬J¦³ªº¾÷¨î¡C
ª«¥óÀx¦s¦ì¸m
ª«¥ó¥i¯àÀx¦s¦b°O¾ÐÅ骺¨â¶ô°Ï°ì¡GManaged Heap¥H¤ÎStack
- Managed Heap
¨Ï¥Î«O¯d¦rnew¨Ó²£¥Íª«¥ó¡Aª«¥ó·|¦s¦b©óHeap Memory¤¤ªº¬YÓ¦a¤è¡A³oÓ°O¾ÐÅé°t¸m¥Í©R¶g´Á »P¸Óª«¥ó¬Û¦P¡C·íª«¥ó¤£¦A³Q°Ñ¦Ò¡A³oÓ°O¾ÐÅéªÅ¶¡±N³Qµø¬°¥iÂkÁÙµ¹Heap Memoryªº¦Û¥ÑªÅ¶¡¡A³oӰʧ@´N¬OGarbage Collection¡C
- Stack
¦b¨ç¦¡©I¥s®É¡A¨ç¦¡°Ñ¼Æ¥H¤Î¨ç¦¡¤¤ªºÅܼƳ£¬O¦bStack¤¤²£¥Í¡C·í³o¨Çª«¥óÂ÷¶}¤FÅܼƽd³ò(Scope)¡A ´N·|³Qµø¬°¥i¥H³QÄÀ©ñªºªÅ¶¡(eligible for garbage-collection)¡C
¦@³q»y¨¥³W½d(Common Language Specification ; CLS)
- ¦³¤FCLR»PCTS¡AÅý§ÚÌ¥i¥H¦³³\¦hµ{¦¡»y¨¥¥i¥H¨Ï¥Î¡A¦ý¤£¦Pµ{¦¡»y¨¥¶¡¦p¦ó·¾³q©O¡A´Nn¾a¨îq¦@³q»y¨¥³W½d CLS¤F¡C
- CLS Âǥѩw¸q¤@²Õ¶}µo¤Hû¥i¥H¦b¦UºØ¤£¦P»y¨¥¤W¨Ï¥Îªº¥\¯à¡A¨Ó¼W¶i©M½T«O»y¨¥ªº¤¬³q©Ê¡C
°ò¦Ãþ§Oµ{¦¡®w(Base Class Library)
.NET Framework ¥]§t¤F¤@²ÕÂ×´IªºÃþ§O®wÅýµ{¦¡³]p¤Hû¨Ï¥Î ¡A¥]§t
- §e²{°ò¥»¸ê®Æ«¬ºA©M¨Ò¥~¡]exception¡^
- ¤ä´© I/O »Pºô¸ô
- ¤ä´©¦UºØ«¬ºAªº¤Ï®g¡]reflection¡^
- ¤ä´©¥¥x»PÀ³¥Îµ{¦¡¦w¥þ¨¾Å@
- »P©³¼hªº§@·~¨t²Î¾ã¦X
- ¬°«Øºc GUI µ{¦¡´£¨ÑªA°È
- ´£¨Ñ¸ê®Æ®w¦s¨ú¯à¤O
- ¤ä´© XML Web ªA°Èªº¶}µo
C#
- C# (°á¦¨¡uC sharp¡v) ¬O Microsoft ·s¶}µoªºµ{¦¡»y¨¥¡A¥Î©óµo®i¦b .NET ¥¥x¤W¹B§@ªº¤¸¥ó¦¡¡]component-based¡^Internet À³¥Îµ{¦¡»PªA°È ¡A C# ¾Ö¦³ C/C++ ªº±j¤j¥\¯à¥H¤ÎVisual Basic²©ö¨Ï¥Îªº¯S©Ê¡A©M C++ »P Java ¤@¼Ë¥ç¬°ª«¥ó¾É¦V(object- oriented)µ{¦¡»y¨¥¡FÁöµM·L³nÁnºÙ¨äC#ªº»yªk95%´X¥G»PC++¬Û¦P¡A¦ýC#ªº»yªk¨ä¹ê§ó¹³Java¡A¥Ñ©ó·L³n»Pª@¶§¤@ª½¥H¨Óµø©¼¦¹¬°Ävª§¹ï¤â¡A¦]¦¹¦b·L³nªºì¤å®Ñ¤¤¹ïJava³oÓ¦r´X¥G¬O°¦¦r¤£´£¡A§ó½T¤Á¦a»¡ªk¡AC#ªº»yªk¨ä¹ê¬O¥ÑC/C++¡BVisual Basic©MJava¥|ºØ»y¨¥¿Ä¦X¦Ó¦¨¡C
- C# §K°£¤FDLL Hell, ¹ý©³¸Ñ¨M¤Fcom¤¸¥óªºµn¿ý¡Aµù¥U»P§ó·s®Éªºª©¥»½Ä¬ð°ÝÃD¡A³z¹Lconfig.webºÞ²z¡A±N©Ò»Ý¤¸¥ó©ñ¸m¦b /bin¥Ø¿ý¤U§Y¥i¡A °£¤F¤£»Ýnµù¥U¤§¥~¡A¤¸¥ó¤]¤£·|¦³Âê©wªº±¡ªp¡A¦]¬°°õ¦æµ{¦¡®É ·|½Æ»s/bin¤U§ä¨ìªºDLL¡A¥Ñ©ó¸ü¤Jªº¬Oshadow-copy¡A¦]¦¹ì©lªº¤¸¥ó¥i¥H³Q¥ô·N¦a´À´«¡A§Y¨Ïµ{¦¡¤´¦b°õ¦æ¤]¨S¦³°ÝÃD¡C
¼Ð·Ç
- ·L³n¦b2000¦~6¤ë¤½¥¬C#¡A¦P¦~8¤ë·L³n¡B´f´¶©M^¯Sº¸¦@¦P´£³ø CLI ©M C# ³W®æ¦Ü¡u¼Ú¬w¹q¸£»s³y°Ó¨ó·|¡v(ECMA) ªºµ{¦¡»y¨¥§Þ³N©eû·|¡]TC39¡^¡C³o¨Ç¦@¦PªºÃÙ§U¼t°Ó¡A³s¦P¨ä¥LECMA¦¨û¡A¥]¬AIBM¡BFujitsu Software¡B´f´¶¡B«È®y±M®a¡BPlum Hall¡BMonash University¡BISE©MXimian¦b¤º¡A¦@¦P§ïµ½´£³ø®Ö㬰ECMA¼Ð·Çªº³W®æ¡C
- 2001¦~12¤ë¡AC#µ{¦¡»y¨¥¤Î³q¥Î»y¨¥¬[ºc¡]Common Language Infrastructure/CLI¡^³q¹LECMAªº³\¥i¦¨¬°²Ä¤@ª©ªº¼Ð·Ç¤À§O¬°ECMA-334©MECMA-335¡A2001¦~12¤ë¡A×¥¿¬°²Ä¤Gª©¡C
- 2003 ¦~ 4 ¤ë¡A C#µ{¦¡»y¨¥¤Î³q¥Î»y¨¥¬[ºc¡]Common Language Infrastructure/CLI¡^³q¹L°ê»Ú¼Ð·Ç²Õ´ (The International Organization for Standardization/ISO)©M¥@¬É¹q°T¬ì§Þ©eû·|¡]International Electrotechnical Committee/IEC¡^ªº¼Ð·Ç»{ÃÒ¡A¦¨¬°¶}µoWeb servicesªº¼Ð·Çµ{¦¡»y¨¥¤Î¬[ºc ¡yISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR)¡z¡C
VB.NET
¦]¬°ASP.NET¥i»P³\¦h»y¨¥§@·f°t¡A¦Ó¤j¦h¼Æªº¤H¿ï¾Üªº³£¬OVB.NET¡A©Ò¥H¦³¥²n²`¤JÁA¸Ñ¤@¤U
¨Æ¥óÅX°Ê(event driven)
n¸ÑÄÀ¤°»ò¬O¨Æ¥óÅX°Ê¼Ò«¬¡A½Ð¥ý¬Ý¥H¤U±±¨î«ö¶sªº½d¨Òµ{¦¡
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
Select Case sender.text
Case "·s¼W"
Response.Write("·s¼W")
Case "×§ï"
Response.Write("×§ï")
Case "§R°£"
Response.Write("§R°£")
End Select
End Sub
°w¹ï¤Wz¨ç¦¡ªºÃ±¦W(Signature)¸ÑÄÀ¦p¤U
- sender As System.Object
- sender ¥NªíIJµo¦¹¨Æ¥óªºª«¥ó¡A¥B¬°Object¸ê®Æ«¬ºA
- e As System.EventArgs
- e ¥NªíIJµo¦¹¨Æ¥ó®É©Ò¶Ç¶i¨Óªº°Ñ¼Æ¡A¸ê®Æ«¬ºA«h¨Ì·Ó¨Æ¥ó¦Ó¦³©Ò¤£¦P¡A³q±`¬°EventArgs«¬ºA
- Handles Button1.Click......
- ¥Nªí¦¹¨ç¦¡¥i¥Ñ Button1....µ¥ª«¥óªº Click¨Æ¥ó©ÒIJµo
Structure
§Q¥ÎStructure¡A¥i¥H«Ø¥ßÃþ¦üª«¥óªº¸ê®Æµ²ºc¦Ó¦¨¬°¤@ºØDataType
Public Structure Employee
Dim Name As String
Dim IdNo As String
Dim TelNo As String
Dim Salary As Double
Dim Bonus As Double
Friend Sub CalculateBonus(ByVal Rate As Single)
Bonus = Salary * Rate
End Sub
End Structure
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim David As Employee
David.Name = 'David'
David.Salary = 35000
David.CalculateBonus(0.01)
Response.Write(David.Name & "ªº¼úª÷¬°¡G" & David.Bonus)
End Sub
VB6ªº¤º«Ø¨ç¼Æ
- ©R¦WªÅ¶¡¡GMicrosoft.VisualBasic
- ½d¨Ò¡GMicrosoft.VisualBasic.Rnd()
ASP.NET
Àô¹Ò«Ø¸m
¥¿¦¡ªººô¯¸Àô¹Ò
- Windows 2003 Server
- IIS6.0 (n¦b.NET Framework 2.0 ¦w¸Ë«e³]©w¦n)¡A«ØÄ³ªþ¥[¤U¦C¤l¤¸¥ó
- FrontPage 2000 Server Extensions
- SMTP Service
- FTP Service
- .NET Framework 2.0 ª©¥iÂà´²µo®M¥ó
- SQL Server 2000 / 2005
- Windows Update
«ØÄ³ªº¶}µoÀô¹Ò
- XP
- .NET Framework 2.0 ³nÅé¶}µo®M¥ó (SDK)
- Visual Web Developer 2005 Express (¤ºªþ SQL 2005 Express »P ASP.NETµ{¦¡¶}µo¦øªA¾¹)
- Windows Update
- ¥i¿ï¾Ü¦w¸Ë³nÅé
- IIS5.0 (IISn¦b.NET Framework 2.0 ¦w¸Ë«e³]©w¦n)¡A«ØÄ³ªþ¥[¤¸¥ó»P¥¿¦¡Àô¹Ò¬Û¦P
- SQL Server 2000 MSDEª©¥» ©Î Access 2003
¤]¥i³o»ò¬Ý¡A¥¿¦¡ªººô¯¸Àô¹ÒµL¶·¦w¸ËVWD2005¡A¶}µoÀô¹Ò«h¤£¤@©wn¦w¸ËIIS©ÎMSDE©ÎAccess¸ê®Æ®w¡C
Visual Web Developer 2005 Express Edition
Visual Web Developer 2005(VWD2005) Express¬°Visual Studio 2005(VS2005)ªº¤l¶°¦X¡A¬O·L³nªñ¨Ó´£¥X»PLAMP°}Àç¬Û·íªº¶}µo¤u¨ã¡A¨Ï¥Î©ì©ñ¤¸¥óªº¤è¦¡§Y¥i³]pWebÀ³¥Îµ{¦¡¡A¨Ã¤ä´©¤¬°Ê¦¡ªº°£¿ù¤è¦¡¡C¤º§t§K¶Oºë²ª©ªºweb¦øªA¾¹(development server)»P¸ê®Æ®w(sql 2005 express server)¥i¨Ñ¥»¾÷´ú¸Õ¨Ï¥Î¡A¹ê»Ú¤W³¡¸p®É¤´¶··f°tIIS»PSQL Server¡C
VWD¾Þ§@½m²ß
- «Ø¥ßÃö³¬»P¶}±ÒASP.NETºô¯¸
( ºô¯¸§Y¬O¥Ø¿ýªº·§©À)
- ³]©wIIS
- «Ø¥ß ¦ì¸m:Àɮרt²Î, »y¨¥:VBªºASP.NETºô¯¸ (À³¥Îµ{¦¡¦øªA¾¹t³d¸ÑªR)
- «Ø¥ß ¦ì¸m:HTTP, »y¨¥:C#ªºASP.NETºô¯¸ (IISt³d¸ÑªR)
- Ãö³¬¤Î¶}±Ò¤Wzºô¯¸
- «Ø¥ßªÅºô¯¸«á¥[¤J·s¶µ¥Ø/²{¦³¶µ¥Ø(¶µ¥Ø¤j¦h¬OÀɮתº·§©À)
- WebForm
- Web²ÕºAÀÉ
- SQL¸ê®Æ®w
- ¹ÏÀÉ
- »{ÃѶ}µoÀô¹Ò
- °»¿ù
¤p§Þ¥©
- Web Form¤W¥ô¦óªÅ¥Õªº¦a¤è Double Click¡A´N·|¸õ¨ì Code Behindªº³]pµe±
- ¦bCodeBehindªº³]pµe±¤¤¨Ï¥Î Me. ¥i±a¥X©Ò¦³¥i¨Ï¥Îªºª«¥ó¦WºÙ
- µe±³]p¤W·Qn°ÊºAªº¼W¥[Åã¥Ü¤º®e¥i¨Ï¥Î Label ©Î Literal¡A®t§O¦b©ó Label ª«¥ó¤@©w¦û¾Úª©±ªÅ¶¡¡A¥B¥i¥H¨Æ¥ý¨M©w¤j¤p¡A¦ÓLiteralª«¥óY¤£Åã¥Ü«h¤£¦ûª©±ªÅ¶¡¡A¥B¥i¥H¨Ï¥Î html»yªk¨ÓÅã¥Ü¨ä¤j¤p»P¤º®e
ASP.NET vs. ASP
ASP.NET¨Ã¤£¬OASP 4.0¡CµL½×´N¾ãÓºô¶ªº°õ¦æ¬[ºc¡A©Î¬O¼¶¼gµ{¦¡¨Ï¥Îªºµ{¦¡»y¨¥¡A¤Îµ{¦¡ªº³]p·§©À¡A¨âªÌ¦Û¥»½è¤W´N§¹¥þ¤£¦P¡CASP.NET¤w¸g¹ýÀY¹ý§À¦a§ï¼g¤F¡I
¦p¦ó±N²V©M¼Ò¦¡ÂàÅܬ°µ{¦¡½X«á¸m¼Ò¦¡
±Nµ{¦¡½X¶}ÀYªº«Å§i×§ï¦p¤U¡A¨Ã±N<script runat="server">»P</script>¤§¶¡ªºµ{¦¡®³±¼©ñ¨ìlist.aspx.vb
list.aspx
<%@ Page Language="VB" debug="True" Explicit="True" Strict="True" Src="list.aspx.vb" inherits="peter.myvb" %>
<html>
<body>
....²¤ ...
</html>
list.aspx.vb
Imports System
Imports System.Data
Imports System.Data.SqlClient
Namespace peter
Public Class myvb : inherits System.Web.UI.Page
Protected WithEvents Repeater1 As System.Web.UI.WebControls.Repeater
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim cnn As SqlConnection = New SqlConnection("server=(local);database=roam;uid='sa';pwd='591026';")
Dim cmd1 As SqlDataAdapter = New SqlDataAdapter("select * from j05 where schyy='93'", cnn)
Dim ds As DataSet = New DataSet()
cmd1.Fill(ds,"j05") '¤]¥i³o¼Ë¼g cmd1.Fill(ds)
Repeater1.DataSource = ds.Tables("j05") '¤]¥i³o¼Ë¼g Repeater1.DataSource = ds
Page.DataBind() '¤]¥i³o¼Ë¼g Repeater1.DataBind()
cnn.Close()
End Sub
End Class
End Namespace
@ Page
³oÓ«ü¥Üµü¥u¯à¨Ï¥Î©ó Web Form ºô¶¤¤ (.aspx ÀÉ®×)¡C±z¥u¯à¦b¨C¤@Ó .aspx Àɮפ¤¥]§t¤@Ó @ Page «ü¥Üµü¡A¥H¤U«ØÄ³±`¥ÎªºÄݩʡC(http://msdn.microsoft.com/library/cht/default.asp?url=/library/CHT/cpgenref/html/cpconPage.asp)
<%@ Page Language="VB" debug="True" Explicit="True" Strict="True" inherits="my.myCodeBehind" Codebehind="aa.aspx.vb" %>
- Language
- «ü©w½sĶºô¶¤º©Ò¦³¤º´OÂàĶ (<% %> ©M <%= %>) ©Mµ{¦¡½X«Å§i°Ï¶ô®É¨Ï¥Îªº»y¨¥¡C³o¨ÇÈ¥i¥H¥Nªí¥ô¦ó .NET ¤ä´©ªº»y¨¥¡A¥]¬A Visual Basic¡BC# ©Î JScript .NET¡C
- Debug
- «ü¥Üºô¶¬O§_À³¨Ï¥Î°»¿ù²Å¸¹½sĶ¡C¦pªGºô¶À³¨Ï¥Î°»¿ù²Å¸¹½sĶ¡A«h¬° true¡F§_«h¬° false¡C
- Inherits
- ©w¸qºô¶nÄ~©Óªºµ{¦¡½X«á¸m (Code-Behind) Ãþ§O¡C³o¥i¥H¬O±q Page Ãþ§Ol¥Íªº¥ô¦óÃþ§O¡C
- AutoEventWireup
- «ü¥Üºô¶ªº¨Æ¥ó¬O§_¦Û°ÊIJµo¡A¹w³]ȬO true¡CY¬°false«h©Ò¦³¶±¨Æ¥ó¥²¶·¸g¹L¥Î¤á©ú½Tªº¾Þ§@¤~¯àIJµo¡C
- Codebehind
- ³oÓÄݩʬO¥Ñ Visual Studio .NET Web Form ³]p¤u¨ã©Ò¨Ï¥Î¡C¥¦·|±Nºô¶Ãþ§Oªº¦ì¸m§i¶D³]p¤u¨ã¡A¨Ï³]p¤u¨ã¥i¥H«Ø¥ß¸ÓÃþ§Oªº°õ¦æÓÅé¡A¨Ñ±z¦b³]p¶¥¬q¨Ï¥Î¡C
- Src
- «ü©w·ín¨Dºô¶®É¡A¥H°ÊºA¤è¦¡½sͤ§µ{¦¡½X«á¸mÃþ§Oªºì©lµ{¦¡ÀÉ (Source File) ¦WºÙ¡C
ª`·N RAD ³]p¤u¨ã (¨Ò¦p Visual Studio. NET) ¤£¨Ï¥Î³oÓÄݩʡC¬Û¤Ï¦a¡A¥¦Ì·|¹w¥ý½s͵{¦¡½X«á¸mÃþ§O¡AµM«á¨Ï¥Î Inherits ÄݩʡC
- SmartNavigation
- «ü¥Üºô¶¬O§_¤ä´© Internet Explorer 5.5 (§t) ¥H«áª©¥»¤¤ªº´¼¼z«¬¨µÄý¡C
- Explicit
- §PÂ_ºô¶¬O¤£¬O¨Ï¥Î Visual Basic ªº Option Explicit ¼Ò¦¡½sĶªº¡Ctrue «ü¥Ü Visual Basic ªº©ú½T½sĶ¿ï¶µ¤w±Ò¥Î¡A¦Ó¥B©Ò¦³ÅܼƳ£¥²¶·¨Ï¥Î Dim¡BPrivate¡BPublic ©Î ReDim ³¯z¦¡«Å§i¡F§_«h¬° false¡C¹w³]¬° false¡C
ª`·N °£¤F Visual Basic .NET ¥H¥~ªº»y¨¥³£·|©¿²¤³oÓÄݩʡC
- Strict
- «ü¥Ü¬O§_À³¨Ï¥Î Visual Basic Option Strict ¼Ò¦¡½sĶºô¶¡C¦pªG¤w±Ò¥Î Option Strict¡A«h¬° true¡F§_«h¬° false¡C¹w³]¬° false¡C
ª`·N °£¤F Visual Basic .NET ¥H¥~ªº»y¨¥³£·|©¿²¤³oÓÄݩʡC
- Trace
- «ü¥Ü¬O§_¤w±Ò¥Î°lÂÜ¡C¦pªG¤w±Ò¥Î°lÂÜ¡A«h¬° true¡F§_«h¬° false¡C¹w³]¬° false¡C
´¼¼z«¬¨µÄý
´¼¼z«¬¨µÄý¬O ASP.NET ¤¤ªº¤@¶µ¥\¯à¡AInternet Explorer 5.5 (§t) ¥H«áª©¥»ªºÂsÄý¾¹³£¤ä´©³o¶µ¥\¯à¡C¥¦Åýºô¶¦b¤£¦P¨µÄý¤§¶¡¶i¦æ«·s¾ã²z®É¡A¤´¯àºû«ù±²°Ê¦ì¸m©M¶µ¥ØµJÂI (Focus)¡A¥u±N³æ¤@ºô¶Àx¦s¦bÂsÄý¾¹ªº°O¿ý¤¤¡A¦Ó¥B¨S¦³¤@¯ë«·s¾ã²z Web ºô¶®É©Ò¥X²{ªº°{°Ê²{¶H¡C´¼¼z«¬¨µÄý³Ì¾A¦X»P»Ýn®É±`¦^¶Ç¡B¦ý¶Ç¦^ªºµøÄ±¤º®e¨ÃµL¼@¯PÅÜ§óªº ASP.NET ºô¶·f°t¨Ï¥Î¡C¨M©w¬O§_±N³oÓÄݩʳ]©w¬° true ®É¡A½Ð¥J²Ó¦Ò¼{³o¤@ÂI¡C
Server Control
server control¬O¤°»ò?
server control ¬O .NET Framework©Ò´£¨Ñwebµ{¦¡¼¶¼g®É©Ò»Ýªº±±¨î¶µ¡A ¦³ HTML Controls »P WEB Controls ¨â¤jÃþ
HTML Controls »P WEB Controls ªº²§¦P?
- HTML Controls ¦bÂà´«¬°clientºÝªºhtml®É¬O¤@¹ï¤@Âà´«¡A¦Ó WEB Controls ¦bÂà´«¬°clientºÝªºhtml®É¦³¥i¯à¬O¤@¹ï¦h¡C
- HTML Controls ªº»yªk»PhtmlÃþ¦ü ,¦Ó WEB Controls ªº»yªkÃþ¦üxml¡C
- HTML Controls ¥i¦b³]p®É±N HTML ÄÝ©Ê (Attribute) ¥[¤J¤§¡A¥ç§Y¥i±±¨î¦p¦ó¦b«eºÝÂsÄýªººô¶¤W§e²{
- HTML Controlsªº©Ò¦³È³£¬O¦r¦ê¡A©Ò¥H¨S¦³«¬§O¦w¥þ (Type Safety)¡C
- WEB Controls ¦³¸û HTML Controls §ó½ÆÂøªº¦øªA¾¹±±¨î¶µ (¨Ò¦p Calendar ©M DataGrid)¡C
- WEB Controls ·|¦Û°Ê¬°Âª© (HTML 3.2) ©M·sª© (HTML 4.0) ÂsÄý¾¹²£¥Í¥¿½Tªº HTML¡C
¨Ï¥Îserver controlªº®É¾÷
²Ä¤@¦¸¨Ï¥Î server control ·|¦³ªººÃ°Ý¬O¡G§Ú¬O§_À³¸Ó±N©Ò¦³«eºÝªº html ³£¥N´«¦¨ server control ¡A ¥¿½Tªºµª®×¬O¡G§AÀ³¸Ó¥u±N»Ýn¤¬°Ê¦Ó²£¥ÍÅܤƪº«eºÝÂsÄý¾¹ª«¥ó§ï¼g¦¨¬° server control ©Î¬O»¡À³¸Ó±N·|¼gµ{¦¡»P¤§¤¬°Êªº«eºÝÂsÄý¾¹ª«¥ó§ï¼g¦¨¬°server control¡C
¨Ï¥Îserver control¨Ó´À¥N¶Ç²ÎclientºÝ¨Ï¥Îjavascript¦³¤°»ò¦n³B?
¶Ç²Îwebµ{¦¡¦]¬°http statelessªº½t¬G¥²¶·¨Ï¥Î»PserverºÝ¤£¦Pªºµ{¦¡»y¨¥¦p javascript ¨Ó°w¹ïclientºÝÂsÄý¾¹¤Wªºª«¥ó¥[¥H±±¨î¡A¤]¦]¦¹¦b±¹ï«eºÝÂsÄý¾¹ªº¥¥x¤£¤@P®É (etc. mozilla, opera, packet pc) °w¹ï¤£¦P¼tµP¡Bª©¥»ªºÂsÄý¾¹¼¶¼g¼ÆÓ¤£¦P ªºª©¥»ªººô¶¤º®e¡C
server control ´N¬O .Net Framework ©Ò´£¥X¸Ñ¨M¤Wz°ÝÃDªº soloution ¡A web ¶}µo¤Hû¯à¥H»PserverºÝ¬Û¦Pªºµ{¦¡»y¨¥¨Ó¼¶¼g»PclientºÝ¨Ï¥ÎªÌ¤¬°Êªº³B²zµ{§Ç¡A¦Ó¤£»Ýn¦Ò¼{ client ºÝªºÂsÄý¾¹¥¥x¡A¦Ó .Net «h ·|®Ú¾Ú¨Ï¥ÎªÌªºÂsÄý¾¹Ãþ«¬°ÊºA¦a²£¥Í¾A¦XªºHTMLºô¶¡BWML¤â¾÷µe±¡B javascript µ{¦¡½Xµ¥¡A¹ï©óweb¶}µo¤Hû¦Ó¨¥¥i¥H´î»´¬Û·í¤jªºt¾á¡C
¤@¨Ç¥¼¸ÑªººÃ°Ý
- ¦bASP.NET¤¤¨Ï¥ÎC++©ÎC#ªº°õ¦æ®Ä²v¬O§_¸ûVBn¨Óªº¦n©O¡H®Ñ¤W³£»¡Âনmanaged code ©Ò¥H¨S®t¡A¦ý¬O¤£¦P»y¨¥¦bcompile¦¨managed code®ÉÃø¹D¤]¨S¦³®t²§¶Ü ?
- ÁöµM»¡.Net ¸¹ºÙ¥i¥H¦bServer³B²z±¼³\¦h¦bclientºÝ»Ýn§@ªº¨Æ¡A²¤Æ¾Ç²ßJavascriptªº§xÂZ¡A¦ý¹ê»Ú¤Wµ{¦¡³]p®vÁÙ¬O»Ýn¼g³\¦hªºjavascript¡A¨Ã±N¤§¥]¦bserverºÝªºµ{¦¡½X¤¤ ?
ASP.NET¨Ï¥Î§Þ¥©
¦basp.net¦p¦ó¨Ï¥Î JavaScript °µ¨ì¦C¦L®ÉÁôÂëö¶s
µ§ªÌ¤¶²Ð¥|ºØ¦p¦ó¦basp.net¤Þ¥Î JavaScript ªº§@ªk¡G
1.ª½±µ¦b xxx.aspx¤¤¥[¤Jjavascriptªºcode¡A¶Ç²Îªºasp, php¤]³£¬O³o¼Ëª½±µ±±¨îªº¡C¦ý¦basp.net¤¤¦¹Ãþ¤è¦¡¥u¾A¦X¦b javascript¤¤¨S¦³°Ñ¦Ò¨ì¥ô¦ó server control®É¨Ï¥Î¡C
<div id="MyPanel" align="center"> //½Ðª`·N, ¦¹³B©w¸qªº¬O htmlªº layer¦Ó«D webcontrol¤¤ªº Panel
<asp:Button ID="printBtn" runat="Server" Text="¦C¦L" OnClick="PrintClick" />
</div>
<script language="javascript" type="text/javascript">
Function PrintClick(){
var IE4 = (document.all) ? 1 : 0; //§PÂ_°õ¦æªºclientºÝ¬°¦óºØÂsÄý¾¹
' window.document.all.MyPanel.style.visibility='hidden' ; //³oºØ¼gªk¥u¯à¨Ï¥Î¦bIE¤W
'n¦b¦C¦L«e±N«ö¶sÁôÂáA¤~¤£·|±N«ö¶s¦L¥X¨Ó¡A¦Ò¼{¨ì¸óÂsÄý¾¹ªº¬Û®e©Ê¥²¶·¨Ï¥ÎgetElementByID()
window.document.getElementById("MyPanel").style.visibility='hidden';
window.print();
window.document.getElementById("MyPanel").style.visibility = (IE4) ? 'visible' : 'show'; //IE4»PNS4¹ï©óÁôÂêºlayern¨ú®øÁôÂîɪºÈ¤£¤@¼Ë
}
</script>
2.¨Ï¥Î.Attributes.Add¹ïprintBtn¥[¤WOnClickªºjavascript code
½Ðª`·N¡Gserver control ªº¦WºÙ¦b clientºÝÂsÄý¾¹¤¤¹ïÀ³ªºDOMª«¥ó¦WºÙ
¦³¥i¯à¤£¤@¼Ë
<asp:Panel ID="MyPanel" runat="server" align="center">
<asp:Button ID="printBtn" runat="Server" Text="¦C¦L" />
</asp:Panel>
Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim JavaScript As String
JavaScript="JavaScript:"
JavaScript+="var IE4 = (document.all) ? 1 : 0;" '§PÂ_clientºÝªºÂsÄý¾¹¬O§_¬°IE
JavaScript+="window.document.getElementById('"+MyPanel.ClientID+"').style.visibility='hidden';" 'ÁôÂÃPanel¥]°_¨Óªº«ö¶s
JavaScript+="window.print();"
JavaScript+="window.document.getElementById('"+MyPanel.ClientID+"').style.visibility = (IE4) ? 'visible' : 'show';" 'IE4»PNS4¹ï©óÁôÂêºlayern¨ú®øÁôÂîɪº³]©wȤ£¤@¼Ë
printBtn.Attributes.Add("OnClick",JavaScript)
' me.printBtn.Attributes("onclick") =JavaScript //³o¼Ë¼g¤]¥i¥H
End Sub
3.¨Ï¥ÎPage.RegisterClientScriptBlock¡A¥i¦bclientºÝ©w¸q¥X¿W¥ßªº javascript function¡A¨Ñ«½Æ©I¥s
½Ðª`·N¡Gserver control ªº¦WºÙ¦b clientºÝÂsÄý¾¹¤¤¹ïÀ³ªºDOMª«¥ó¦WºÙ ¦³¥i¯à¤£¤@¼Ë
<asp:Panel ID="MyPanel" runat="server" align="center">
<asp:Button ID="printBtn" runat="Server" Text="¦C¦L" />
</asp:Panel>
Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs)
printBtn.Attributes.Add("onclick","PrintClick();")
//½Ð°O±on¥[¤À¸¹¡A¦]¬°.netÁÙ·|¦b³o¤§«á¥[¤Wcode
End Sub
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim myScript AS StringBuilder = new StringBuilder() //°£¤F¨Ï¥Î String©w¸q,ÁÙ¥i¨Ï¥ÎStringBuilder,¥i§ó¸`¬Ù°O¾ÐÅé
myScript.Append(VbCrLf & "<script language='javascript' type='text/javascript'>")
myScript.Append(VbCrLf & "function PrintClick(){")
'§PÂ_clientºÝªºÂsÄý¾¹¬O§_¬°IE
' myScript.Append("var NS4 = (document.layers) ? 1 : 0;") //³o¼Ë¼g¬°§PÂ_NescapeÂsÄý¾¹ , ¦ý mozilla¤£¤ä´©
myScript.Append(VbCrLf & "var IE4 = (document.all) ? 1 : 0; ") //³o¼Ë¼g¬°§PÂ_IEÂsÄý¾¹ , ¦ý mozilla¤£¤ä´©
'¦]«ö¶s¥HMyPanel¥]°_¨Ó, ©Ò¥H¦C¦L®Én±N¤§ÁôÂÃ, ¦ý¦]¬°¨Ï¥Î¤Fwebcontrol¦ÓµLªk±oª¾°õ¦æ®ÉªºclientºÝID¡A©Ò¥H¤£¥i³æ¯Â¥HMyPanelªí¥Ü¡A¦Ón¥[¤W.ClientID
myScript.Append(VbCrLf & "window.document.getElementById('"+MyPanel.ClientID+"').style.visibility='hidden';")
myScript.Append(VbCrLf & "window.print();")
'IE4»PNS4¹ï©óÁôÂêºlayern¨ú®øÁôÂîɪº³]©wȤ£¤@¼Ë
myScript.Append(VbCrLf & "window.document.getElementById('"+MyPanel.ClientID+"').style.visibility = (IE4) ? 'visible' : 'show';")
myScript.Append("}")
myScript.Append(VbCrLf & "</" & "script>")
Page.RegisterClientScriptBlock("MyScript", myScript.ToString())
End Sub
4.¨Ï¥Îliteral¨Ó¦w´¡ javascript code¨ì«ü©wªº¦ì¸m
<asp:Panel ID="MyPanel" runat="server" align="center">
<asp:Button ID="printBtn" runat="Server" Text="¦C¦L" />
</asp:Panel>
<asp:literal id="Literal1" runat="server"></asp:literal>
Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim JavaScript As String
JavaScript=vbCrLf & "<script language='javascript' type='text/javascript'>"
JavaScript+=vbCrLf & "function PrintClick(){"
JavaScript+=vbCrLf & "var IE4 = (document.all) ? 1 : 0;"
JavaScript+=vbCrLf & "window.document.getElementById('"+MyPanel.ClientID+"').style.visibility='hidden';"
JavaScript+=vbCrLf & "window.print();"
JavaScript+=vbCrLf & "window.document.getElementById('"+MyPanel.ClientID+"').style.visibility = (IE4) ? 'visible' : 'show';"
JavaScript+=vbCrLf & "}"
JavaScript+=vbCrLf & "</script>"
me.Literal1.Text = Javascript
End Sub
ºô¶¸ü¤J«áÅý´å¼Ð°±¯d¦b«ü©wªºÄæ¦ì¤W
¨Ï¥ÎPage.RegisterStartupScript¡A¥i¦bclientºÝºô¶©³³¡©ñ¸mjavascript code¡A¨ä¥Øªº¦b½T«O©Ò¦³©I¥sªººô¶ª«¥ó¬Ò¤w¦s¦b
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
SetFocus(TextBox1)
End Sub
Sub SetFocus(ByVal controlToFocus As Control)
Dim JavaScript As New StringBuilder()
JavaScript.Append(VbCrLf & "<script language='javascript'>")
JavaScript.Append(VbCrLf & "window.document.getElementById('")
JavaScript.Append(controlToFocus.ClientID)
JavaScript.Append("').focus();")
JavaScript.Append(VbCrLf & "</" & "script>")
Page.RegisterStartupScript("focus", JavaScript.ToString())
End Sub
ADO.NET
- ìADOªº¸ê®Æ¶°(DataSet)´Nµ¥©ó¬ö¿ý¶°(Recordset)¡A¦ý¦bADO.NET¤¤¸ê®Æ¶°»P¬ö¿ý¶°¦U¥q¨ä¾¨Ã¤£¬Û¦P¡C
- ¨Ï¥ÎADO.NETnª`·N¦øªA¾¹ªºµLª¬ºA³]p»P¦øªA¤¸¥óªºÂ÷½u³B²z³]p¡A¨ä¥Øªº³£¦b°§C¦øªA¾¹ºÝªºt¸ü¡C
- ·L³n¹ï©ó¸ê®Æ¦s¨ú§Þ³Nªººt¶i
Java Framework VS .NET Framework
- Java Framework©M.NET Framework¤§¶¡ªº¤ñ¸û¤Q¤À±`¨£¡CÁöµM¥i¥HÁA¸Ñ Java ¥¥x´£¨Ñ¤F.NET ±N±¹ïªº¥DnÄvª§°ò¦¡A.NET ªº½d³ò«o¤ñ¸û¤j¡C.NET¤£¶È´£¨Ñ¥iÅýÀ³¥Îµ{¦¡¶}µo»P°õ¦æªº°©¬[¡A¥¦ÁÙ²[»\¤F¶}µo¤u¨ã»P¨ÑÀ³¥Îµ{¦¡¨Ï¥Î¡B½d³ò¼sªxªº¦øªAºÝ²£«~¡C
- .NET Framework ¤jP¤Wµ¥¦P©ó Java ¥¥x¡A¥Ñ¤@²ÕÃþ§O®w»P¤@Ó©M Java µêÀÀ¾÷¾¹¬Û¦üªº°õ¦æÀô¹Ò²Õ¦¨¡CJava ±N³o¨âÓ¶µ¥Ø¥H Java µ{¦¡»y¨¥³W®æµ²¦X¦b¤@°_¡A¦Ó .NET Framework «h¬O³]p¦¨¤ä´©¦hºØ»y¨¥¡A¥]¬A C# ¥H¤Î×§ï¹Lªº Visual Basic ©M Visual C++¡A¦]¦¹¨Ã¤£¥]§t³æ¤@ªº»y¨¥³W®æ¡C
- ´Nµ{¦¡»y¨¥ªº¨¤«×¨Ó¤ñ¸û ( C# VS Java )
- C#¡GA simple, modern, object-oriented, type-safe, versionable, compatible, and flexible language(Microsoft C# product manager : Tony Goodhew)
- Java¡GA simple, object-oriented, distributed, interpreted, robust, secure, architecture, neutral, portable, high performance, multithreaded, and dynamic language (Sun MicrosystemsªºJame Gosling and Henry McGilton)
| J2EE Feature |
.NET Framework |
³Æµù |
| Java |
Multi-language |
Cobol, Build into SQL Server |
| JVM |
CLR |
|
| JDK |
.NET Framework SDK |
|
| JavaBeans |
.NET class |
|
| EJB |
.NET class with COM+ |
|
| JSP/Servlet |
ASP.NET |
Web control vs. Taglib and Faces |
| JMS |
System.Messaging / MSMQ |
|
| EJB Message Beans |
COM+ QC |
|
| JNLP (WebStart) |
No-touch Deployment |
|
| RMI-over-IIOP |
.NET Remoting |
|
| JNDI |
ADSI |
|
| JAXP ¡K |
System.XML and web services |
ADO.NET XMLReader |
| JSR-175 ¡V coming in JDK 1.5 |
Code Attributes |
|
| JavaMail |
System.Web.Mail |
|
°Ñ¦Ò¸ê®Æ¡Ghttp://www.iiiedu.org.tw/knowledge/knowledge20020828_2.htm
°Ñ¦Ò®Ñ¥Ø
- ASP.NETµ{¦¡³]p¹ý©³¬ã¨s, ¸³¤j°¶, ¤å»í, ISBN:9574669009
- C# ºën,
Ben Albahari & Peter Drayton & Brad Merrill ,¼ÚµÜ§,
ISBN:957-8247-65-6
- ·s¤@¥NC#»PASP.NET¹ê¾Ô¶}µo, «í¶h¸ê°T¾G²Qªâ;³\¹Å¤¯;±i®Ñ·½, ùÖ®p¸ê°T,ISBN:9789575668402
- ³q©¹ADO.NETªº±¶®|, ´^¹tø¯, ºX¼Ð¥Xª©, ISBN:9574420302
ºô¸ô¸ê·½
ECMA International
ECMA International¡]ECMA¡^³Ð¥ß©ó1961¦~¡Aµo®i¥X¸ê°T©M³q°T§Þ³N¼Ð·Ç¡]ICT¡^¡CECMA¬O«DÀç§Q·~¬É²Õ´¡A¥Ñ§Þ³N¶}µo¤Hû¡B¼t°Ó©M¨Ï¥ÎªÌ¦@¦P²Õ¦¨¡C·~¬É©M¨ä¥L±M®a¦bECMA²Õ´¤¤¦@¦P¨ó¤O¦X§@¡A§¹¦¨¦U¶µ¼Ð·Çªº¨îq¡C±µµÛECMA±NÀò±o³\¥iªº·s§Þ³N¡A´£³ø°e¥æISO¡BISO/IEC©METSI¼Ð·Çªº®Ö¥i¡C
ECMA´£¨Ñ¤F¡u§Ö³t¼f®Ö¡v¡A¶i¤J·~¬É¼Ð·Ç²Õ´µ{§Ç¡A³z¹L³oºØºÞ¹D¡A°ª«~½èªº¼Ð·Ç¥i¥H§Ö³t³q¹L¨ÃÀò±o±Ä¦æ¡C
³o¨Ç¼Ð·Ç¥Dnªº»â°ì¥]¬A¡G«ü¥O½X©Mµ{¦¡»y¨¥¡A¥ú¾Ç©MºÏ©ÊÀx¦s¸Ë¸m¡A°ª³t¤¬Áp¡A¦w¥þ¡BÀô¹Ò¡BµÅT©M¹qºÏ²£«~¯S©Ê¡A¥ø·~©MProximity Communication¬Û¾F³q°T©MNetworking¡AÀɮשM®e¶qµ²ºc¡C¬ÛÃö¥Xª©«~¥i§K¶Oºô¯¸¤U¸ü¡G http://www.ecma-international.org ¡C
XML
XML¬O¤@ºØ¦b W3C ¤u·~¼Ð·Ç³W½d¤Uªº¼Ð¥Ü»y¨¥ (Markup Language) ¡A¥Dn¦b´yzµ²ºc¤Æªº¸ê®Æ¡A´£¨Ñ¼Ð·Çªº¸ê®Æ¥æ´«®æ¦¡¡AÅý¸ê°T¯à¸ó¶V²§½èªºÀô¹Ò»P¤£¦Pªº³]³Æ¡C
SOAP
SOAP(Simple Object Access Protocol)¬O¤@ºØ¬[ºc¦b HTTP ¨ó©w¤Wªº¤À´²¦¡ª«¥ó³q°T¨ó©w¡C³z¹L XML Åý¨Ï¥ÎªÌºÝ»P¦øªA¾¹¤§¶¡¥i¥H¤¬¬Û¾ã¦X¡AÅýÀ³¥Îµ{¦¡¤§¶¡¥i¥H¸ó¶V¨¾¤õÀð¦Ó¹F¨ì©¼¦¹·¾³qªº¥Øªº¡C
¥D ºô ¯¸¡Ghttp://peterju.notlong.com
(¥Ø«eÂà§}¦Ü http://irw.ncut.edu.tw/peterju/)