ASP.NET MVC ¿ò¼Ü
¹ýÈ¥µÄ¼¸ÄêÀºÜ¶àÈËÒªÇóASP.NETµÄÒ»¼þÊÂÇé¾ÍÊǶÔʹÓûùÓÚmodel-view-controller£¨Ä£ÐÍ-ÊÓͼ-¿ØÖÆÆ÷,¼ò³ÆMVC£©¼Ü¹¹À´¿ª·¢webÓ¦ÓõÄÄÚÖÃÖ§³Ö¡£
ÉϸöÖÜÄ©ÔÚAustin¾ÙÐеÄAlt.NET´ó»áÉÏ£¬ÎÒÊ״ζÔÎÒµÄÍŶÓÕýÔÚ¿ª·¢µÄÐÂASP.NET MVC ¿ò¼Ü×÷ÁËÒ»¸ö¹«¿ªµÄÑÝʾ¡£Äã¿ÉÒÔÔÚScott HanselmanÕâÀïµÄ²©¿Í
ÉϹۿ´ÎҵĽ²×ùµÄ¼Ïñ¡£
ÎÒÃǽ«ÔÚ½ñÄêÉÔºó·¢²¼¸Ã¿ò¼ÜµÄÒ»¸ö¹«¿ªÔ¤ÀÀ°æ£¬È»ºóÔÚÃ÷ÄêµÄÉϰëÄ꽫Ëü×÷ΪÍêȫ֧³ÖµÄASP.NETÌØÐÔÍÆ³ö¡£
Ä£ÐÍ-ÊÓͼ-¿ØÖÆÆ÷(MVC)¿ò¼ÜÊÇʲô¶«Î÷£¿
MVCÊǸö½«Ò»¸öÓ¦ÓõÄʵÏÖ·Ö³ÉÈý¸ö×é¼þ½ÇÉ«µÄ¿ò¼Ü¼¼Êõ£ºÄ£ÐÍ£¬ÊÓͼºÍ¿ØÖÆÆ÷¡£
ÔÚ»ùÓÚMVCµÄÓ¦ÓÃÀModel(Ä£ÐÍ)ÊǸºÔð±£³Ö״̬µÄÓ¦ÓÃ×é¼þ¡£Õâ¸ö״̬ͨ³£¶¼³Ö¾ÃÓÚÊý¾Ý¿âÖ®ÖУ¨Æ©È磬ÎÒÃÇÒ²Ðí»áÓÐÒ»¸öProduct£¨²úÆ·£©ÀàÓÃÀ´´ú±íSQLÖеÄProductsÊý¾Ý±íÖеĶ©µ¥Êý¾Ý)¡£
ÔÚ»ùÓÚMVCµÄÓ¦ÓÃÀView(ÊÓͼ)ÊǸºÔðÏÔʾÓû§½çÃæµÄ×é¼þ¡£Õâ¸öUIͨ³£ÊÇʹÓÃÄ£ÐÍÊý¾ÝÀ´´´½¨µÄ£¨Æ©È磬ÎÒÃÇÒ²Ðí»áÉú³ÉÒ»¸öProduct"±à¼"ÊÓͼ£¬¸ù¾Ýµ±Ç°Product¶ÔÏóµÄ״̬£¬ÏÔʾÎı¾¿ò£¬ÏÂÀ¿òºÍ¸´Ñ¡¿òµÈ)¡£
ÔÚ»ùÓÚMVCµÄÓ¦ÓÃÀController(¿ØÖÆÆ÷)ÊÇ´¦ÀíÓû§½»»¥£¬²Ù×÷Ä£ÐͺÍ×îÖÕÑ¡ÔñÓÃÄĸöÊÓͼÀ´ÏÔʾUIµÄ×é¼þ¡£ÔÚMVCÓ¦ÓÃÖУ¬ÊÓͼֻÊÇÓÃÀ´ÏÔʾÐÅÏ¢¶øÒÑ£¬ÊÇ¿ØÖÆÆ÷À´´¦ÀíºÍ»ØÓ¦Óû§µÄÊäÈëºÍ½»»¥µÄ¡£
ʹÓÃMVC·½·¨µÄÒ»¸öºÃ´¦ÊÇ£¬ËüÓÐÖúÓÚ´Ù½øÓ¦ÓÃÖÐÄ£ÐÍ£¬ÊÓͼ£¬¿ØÖÆÆ÷¼äµÄ¹Ø×¢µÄÇåÎú·ÖÀë¡£±£³Ö¹Ø×¢µÄÇåÎú·ÖÀëʹµÃ¶ÔÓ¦ÓõIJâÊÔ¼«ÆäÈÝÒ×£¬ÒòΪ²»Í¬Ó¦ÓÃ×é¼þ¼äµÄÆõÔ¼µÄ¶¨ÒåºÍ±í´ïÊǸüÃ÷È·µÄ¡£
MVCģʽҲÓÐÀûÓÚ´Ù½øºì/ÂÌʽ²âÊÔÇý¶¯µÄ¿ª·¢
£¨TDD)£¬Í¨¹ýËü£¬Äã¿ÉÒÔÔÚÄãʵ¼Ê±àдӦÓôúÂë±¾Éí֮ǰÊ×ÏÈʵÏÖ×Ô¶¯»¯µÄµ¥Ôª²âÊÔ£¬ÕâЩµ¥Ôª²âÊÔ¶¨ÒåºÍºËʵÁËдúÂëµÄÐèÇó¡£
ASP.NET MVC ¿ò¼ÜµÄһЩ¼òҪϸ½Ú
ÔÚ¼¸¸öÐÇÆÚºó£¬Ïà¹Ø´úÂë¿ÉÒÔÏÂÔØÖ®ºó£¬ÎÒ½«Ð´Ò»Ð©¹ØÓÚÕâ¸öеÄASP.NET MVC ¿ò¼ÜµÄÉîÈëÐԵĽ̳ÌÌù×Ó£¨Óë´Ëͬʱ£¬Ïë½øÒ»²½Á˽âËüµÄ×î¼Ñ·½Ê½Êǹۿ´ÎÒµÄAlt.net½²×ùµÄ¼Ïñ
£©£º
ÕâÀïÊǹØÓÚASP.NET MVC ¿ò¼ÜµÄһЩ¼òҪϸ½Ú£º
Ëü½«´Ù½øÇåÎúµÄ¹Ø×¢·ÖÀ룬¿É²âÊÔÐÔ£¬ºÍTDD¡£MVC¿ò¼ÜÖеÄËùÒÔºËÐÄÆõÔ¼¶¼ÊÇ»ùÓڽӿڵģ¬¿ÉÒÔÇáÒ×µØÍ¨¹ýmockÀ´Ä£Äâ
£¨°üÀ¨»ùÓÚ½Ó¿ÚµÄ
IHttpRequest/IHttpResponseÕâЩ»ù±¾µÄ¶«Î÷£©¡£Äã¿ÉÒÔ²»ÓÃÔÚASP.NET½ø³ÌÖÐÔËÐпØÖÆÆ÷£¨ÕâʹµÃµ¥Ôª²âÊԺܿ죩£¬¾Íµ¥Ôª²â
ÊÔÄãµÄÓ¦Óá£Äã¿ÉÒÔʹÓÃÄãÏëʹÓõÄÈκε¥Ôª²âÊÔ¿ò¼ÜÀ´×öµ¥Ôª²âÊÔ£¬°üÀ¨NUnit, MBUnit, MS TestµÈµÈ¡£
Õâ¸ö¿ò¼Ü¾ßÓи߶ȵĿÉÀ©Õ¹Ð
Ïà¹ØÎĵµ£º
ÏÂÔØÎļþ£ºstring musicUrl = "music/" + Request.QueryString["murl"].ToString();
string fileName = Request.QueryString["murl"].ToString();
string filePath = Server.MapPath(musicUrl);//·¾¶
FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.Cl ......
ÕýÎIJ¿·Ö£º
.Ff j(y-vDp0
(Gd4DA-{%r1?.@0 ×¢Ò⣺ÒÔϺìÉ«²¿·Ö×ÖÌå˵Ã÷¸ÃÄÚÈÝÒýÓÃÓÚ΢ÈíµÄÏà¹ØÍøÕ¾ITPUB¸öÈ˿ռä8~+X.M.cL$C0Gq4J
ITPUB¸öÈ˿ռä [o VI4[?FHe
ÒòΪҪ×öÒ»¸öÊÓÆµÍøÕ¾£¬ËùÒÔÐèÒªÌṩÓû§ÉÏ´«ÊÓÆµµÄ¹¦Ä ......
1
<asp:UpdatePanelID="UpdatePanel1"
UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:Button ID="Button1"
......
×Ô¶¨Òå¿Ø¼þÊôÐÔµÄÌØÐÔ£º
Bindable
Ö¸¶¨屬ÐÔÊÇ·ñÖ§Ô®Data Binding¡£
Õâ¸öÌØÐÔ±íʾÊôÐÔÊÇ·ñ¿ÉÒÔ°ó¶¨Ò»¸öÓÐЧÊý¾ÝÔ´¡£Í¨³£Ê¹Óò¼¶ûÖµ½øÐÐÉèÖá£ÀýÈ磺Bindable(true)¡£Èç¹ûʹÓÃÖµtrue±ê¼ÇÊôÐÔ£¬±íʾ¸ÃÊôÐÔ¿ÉÒÔ°ó¶¨Ò»¸öÓÐЧÊý¾ÝÔ´£¬ÇÒÓ¦Òý·¢¸ÃÊôÐÔµÄÊôÐÔ¸ü¸Ä֪ͨ¡£
Browsable
¿ØÖÆ屬ÐÔ»òʼþÊÇ·ñ顯ʾì¶& ......
½ñÌìÎÒÃÇSKYС×é×öÒ»¸öÏîÄ¿£¬Óöµ½ÁËSessionʧЧµÄÎÊÌâ£¬È¥ÍøÉϲéÁËһЩ×ÊÁϺó£¬×Ô¼ºÕûÀí³öÀ´£¬¹©ÒÔºóѧϰʹÓá£
SessionʧЧµÄÔÒòÓкܶàÖÖ£¬Å׳öÄÇЩËöËéµÄÎÊÌ⣨±ÈÈç¿Í·þ¶ËCookie¹Ø±Õ¡¢SessionÉèÖõÄʱ¼äÌ«¶ÌµÈ£©£¬ÕâÀïÖ÷Ҫ˵Ã÷һЩÈÝÒ×±»ÎÒÃǺöÂÔµÄÎÊÌâ ......