[·Òë]ASP.NET MVC
ÔÚ½ñÌ죬MVC(Model-View-Controller)Éè¼ÆÄ£Ê½Óë²âÊÔÇý¶¯¿ª·¢·½·¨(Test-Driven Development ¼ò³ÆTDD)±»¹ã·ºÓ¦ÓÃÓÚÆóÒµ¼¶WEBÓ¦ÓõĿª·¢ÖС£MVCÉè¼ÆÄ£Ê½Ç¿ÖÆÎÒÃǽ«Ó¦Ó÷ֽâ³ÉÈý¸ö²¿·Ö£ºÄ£ÐÍ(Model)¸ºÔðÒµÎñÊý¾ÝµÄ´æ´¢¼°¹ÜÀí£¬ÊÓͼ(View)¸ºÔð³ÊÏÖÊý¾Ý£¬²¢ÎªÓû§ÌṩÓëϵͳ½»»¥µÄ½çÃæ½Ó¿Ú£¬¶ø¿ØÖÆÆ÷(Controller)Ôò¸ºÔð½«Óû§¶¯×÷ת»»³ÉÏàÓ¦µÄÒµÎñÊý¾Ý¼¯ºÏ´«µÝ¸øÄ£ÐÍ£¬»òÕß½«ÒµÎñÊý¾Ýת»»³ÉÏàÓ¦µÄ·½Ê½´«µÝ¸øÊÓͼ¡£
ʹÓÃMVCÉè¼ÆÄ£Ê½µÄÒ»¸ö×î´óµÄºÃ´¦¾ÍÊÇËü¼ò»¯ÁËWEBÓ¦Óÿª·¢ÖеÄTDD¹ý³Ì£¬ÒòΪËüʹÎÒÃDZÜÃâÁËÓ븴ÔÓµÄͼÐÎÓû§½çÃæ(GUIs)½»»¥¡£TDDÐèÒª¿ª·¢Õß´´½¨Ð¡Á£¶ÈµÄµ¥Ôª²âÊÔÓÃÀý£¬¼ì²â³öÖ´ÐÐʧ°ÜµÄÓÃÀý£¬±àд´úÂëÒÔͨ¹ýÓÃÀý¼ì²â£¬×îºóÒªÖØ¹¹´úÂëÒÔÓ¦¶ÔÐèÇó±ä¸ü¡£
Ö±µ½2007ÄêÄ©£¬¿ÉÓÃÓÚASP.NETµÄMVC¿ò¼ÜÖ»ÓпªÔ´¿ò¼ÜMonoRail¡£¶ø´Ó2000Ä꿪ʼ£¬Struts¾Í³ÉΪJavaƽ̨ÉÏÓÃÓÚMVC¼Ü¹¹µÄ¿ò¼Ü¡£PHP¸üÊÇÓµÓÐÊ®¼¸ÖÖMVC¿ò¼Ü¡£Ruby on Railsƽ̨±¾Éí¾Í×Ô´øÁËĬÈϵÄMVC¼Ü¹¹¹¦ÄÜ£¬²¢ÇÒÆäÖаüº¬Ò»¸ö"text/unit"¿â£¬ÓÃÒÔÕûºÏµ¥Ôª²âÊÔ¹¦ÄÜ¡£
ÔÚVS2002ºÍVS2003ÖУ¬Visual Studio¿ª·¢Ð¡×éÈÔȻûÓÐÄÜΪÕâ¸öIDEÌṩµ¥Ôª²âÊÔ¹¦ÄܺÍÖØ¹¹ÌØÐÔ¡£ÖÕÓÚ£¬ÔÚVS2005µÄ²âÊÔ°æÖУ¬µ¥Ôª²âÊÔ¹¦ÄÜ(MSTest)±»ÕûºÏµ½Õâ¸öIDEÖУ¬²¢ÇÒÔÚVS2005µÄ±ê×¼°æºÍ¸ü¸ß¼¶°æ±¾ÖУ¬ÎªC#ÓïÑÔÌí¼ÓÁËÖØ¹¹»úÖÆ¡£VS2008רҵ°æ¼°¸ü¸ß°æ±¾ÖÐÒ²ÕûºÏÁËMSTest£¬µ«ÊÇ£¬ÔÚ΢Èí·¢²¼µÄVS2008ºÍASP.NET3.5Öв¢Ã»ÓÐÌṩ¶ÔMVCµÄÖ§³Ö¡£
Tech Brief: Postback Model
ǰհ
΢Èí¹«Ë¾ASP.NETС×é×îеĸ±×鳤Scott GuthrieÔøÔ¤²âµÚÒ»¸ö»ùÓÚASP.NET3.5ƽ̨µÄMVC¿ò¼Ü½«ÓÚ2007Äê10Ôµ®Éú¡£ÄÇʱ£¬GuthrieÔø³ÐŵÔÚÀ´ÄêµÄǰ°ëÄêÀïΪASP.NETÌṩÍêÕûµÄMVCÌØÐÔ¡£
½ô½Ó×Å£¬Î¢ÈíÔÚ12Ô·ݷ¢²¼ÁËÒ»·ÝMVCµÄÉçÇø¼¼ÊõÔ¤ÀÀ(community technology preview ¼ò³ÆCTP)£¬ËüÊÇASP.NET3.5À©Õ¹µÄÒ»²¿·Ö¡£Õâ¸öÀ©Õ¹½«°üº¬ASP.NET¶¯Ì¬Êý¾Ý(ASP.NET Dynamic Data)£¬ËüÊÇÒ»¸öÀàËÆÓÚRailsµÄ½ÅÊÖ¼Ü(scaffolding)¿ò¼Ü£¬Õâ¸ö¼¼ÊõʹµÃ¿ìËÙ¿ª·¢»ùÓÚÊý¾ÝÇý¶¯µÄMVCÕ¾µã³ÉΪ¿ÉÄÜ¡£»ùÓÚSQL»ò»ùÓÚʵÌåµÄLINQ½«×÷ΪģÐ͵ÄÊý¾ÝÔ´¡£
±¾ÔÂÔçЩʱºò£¬Î¢Èí·¢²¼ÁËASP.NET MVC Ô¤ÀÀ°æ2£¬ÔÚÕâ¸öÔ¤ÀÀ°æÖУ¬ÌṩÁËMVC routing£¬²¢¶Ô²âÊÔ¹¦ÄܽøÐÐÁ˸Ľø¡£ÁíÍ⣬Ëü»¹ÌṩÁËVS2008¿ª·¢»·¾³ÖеÚÒ»¸öÖ§³ÖMVCµÄÄ£°å£¬¶øÇÒ¶Ô¶¯Ì¬Êý¾Ý½øÐÐÁ˸Ľø¡£
¹Ø¼üÌØÐÔ
¸ù¾ÝGuthrieËù½²£¬ASP.NET MVC¿ò¼ÜµÄÒ»Ð©ÌØÐÔ¶ÔWeb¿ª·¢ÈËÔ±·Ç³£ÖØÒª£¬Ëü°üÀ¨ÒÔϼ¸µã£º
1.NET MVC¿ò¼Ü
Ïà¹ØÎĵµ£º
MVC2 ¿ò¼Ü°²×°Íê³ÉÒÔºóÎÒÃǾͿÉÒÔ¿ªÊ¼ÎÒÃÇµÄ MVCÖ®ÂÃÁË£¬ºÇºÇ
±¾´ÎѧϰÄÚÈÝ£ºRoute
Ê×ÏÈ route µÄÖÐÎÄÒâ˼¾ÍÊÇÎÒÃdz£ËµµÄ“·ÓÉ”£¬È·ÊµÕâÀïÒ²ÊÇÕâ¸öÒâ˼£¬ÔÚÎÒÃÇMVCÖÐÒѾ²»ÔÙʹÓà XX.aspx À´·ÃÎÊÒ³ÃæÁË£¬
ËùÓÐÒ³ÃæµÄÇëÇó»áͨ¹ýrouteÀ´½âÎöÕÒµ½¶ÔÓ¦µÄ¿ØÖÆÆ÷(controller)ÀïÃæ¶ÔÓ¦µÄ²Ù×÷(action)À´Ö´Ðеġ£
mv ......
Ç°ÃæÎÒÃÇ˵¹ýÁË ¿ØÖÆÆ÷(controller) ºÍ·½·¨(action)
±¾´ÎҪ˵µÄ¾ÍÊÇ ViewÒÔ¼°ºÍ¿ØÖÆÆ÷(controller)¡¢·½·¨(action)Ö®¼äµÄ¹ØÏµ£»
´ó¼Ò¶¼ÖªµÀ MVCÖÐµÄ V ¾ÍÊÇView µÄÒâ˼£¬¾ÍÊÇ ³ÊÏÖ¸øÓû§µÄ½çÃæ£¬ÒÔÍùµÄasp.netÏîÄ¿ÖнРwebform£¬ÒÔǰ×öasp.netµÄʱºò¾ÍÊÇÔÚ¹¤¾ßÏäÀïÃæÍϿؼþ³öÀ´£¬
È»ºó¼òµ¥µÄÅŰæÒ»Ï¾ÍokÁË£¬´ó¶àÊýÓõķþ ......
·½·¨1
HttpFileCollection files = HttpContext.Current.Request.Files;
//ÎÒÉèÖõĴóС²»³¬¹ýA4Ö½µÄËõÂÔͼ
int newWidth=620;
int newHeight=880;
System.Drawing.Image img = null;
for(int iFile = 0; iFile < files.C ......
ʲôÊÇMVCģʽ
MVC£¨Model-View-Controller£¬Ä£ÐÍ—ÊÓͼ—¿ØÖÆÆ÷ģʽ£©ÓÃÓÚ±íʾһÖÖÈí¼þ¼Ü¹¹Ä£Ê½¡£Ëü°ÑÈí¼þϵͳ·ÖΪÈý¸ö»ù±¾²¿·Ö£ºÄ£ÐÍ£¨Model£©£¬ÊÓͼ£¨View£©ºÍ¿ØÖÆÆ÷£¨Controller£©¡£
ÄÇôMVCģʽºÍÎÒÃÇÊìϤµÄWebFormģʽÓÐʲô²»Í¬ÄØ£¿ËûµÄ¸÷¸ö²¿·ÖÓÖÊÇÔõÑù·Ö¹¤µÄÄØ£¿
ÎÒÃÇÏÈÀ´¿´Ò»ÏÂÆÕͨµÄWebFormģʽÏ£ ......