[·Òë]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¿ò¼Ü
Ïà¹ØÎĵµ£º
ÈçÓÐÒ³ÃæAdmin£¬ÔòÔÚÆäcsÎļþÖÐдÈçÏ´úÂ룺
protected void Page_Load(object sender, EventArgs e)
{
Response.AddHeader("Cache-Control", "no-cache");
Response.Expires = -1;
Response.Cache.SetNoStore();
Response.AddHeader("Pragma", "no-cache");
Response ......
×î½üÔÚÓÃÓû§¿Ø¼þʱ£¬ÒýÓû§¿Ø¼þµÄÒ³ÃæÓÐʱºò»áºÍÓû§¿Ø¼þ½øÐÐÊý¾ÝµÄ½»»¥£¬ÍøÉϺÃÏñºÜ¶àÈ˲»ÖªµÀºÎ»ñÈ¡
д¸öÀý×Ó˵Ã÷Ò»ÏÂ
È¡µÃÓû§¿Ø¼þÀïÃæµÄ¿Ø¼þ²¢½øÐи³Öµ
Óû§¿Ø¼þaspxÒ³´úÂë
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="HeadPanel.ascx.cs" Inherits="HeadPanel" %>
& ......
±¾ÏµÁÐÎÄÕÂͨ¹ýÒ»¸öÐéÄâµÄ°¸Àý——¡¶MVC¹«¸æ·¢²¼ÏµÍ³¡·µÄ¿ª·¢¹ý³Ì£¬È«ÃæÕ¹Ê¾ÁËASP.NET MVCµÄ»ù±¾Ê¹Ó÷½·¨£¬Í¬Ê±ÔÚÌÖÂÛÁËÕâ¸ö¿ò¼ÜµÄ»ù±¾ÔÀí¡£
Õâ¸öÎÄÕÂϵÁеÄÄ¿µÄ¾ÍÊÇʹÅóÓÑÃǸüÇáËɵÄÈëÃÅASP.NET MVC¡£
Õâ¸öϵÁлá°üº¬µÄÄÚÈÝÓУºASP.NET ......
[תÌùÒ»]
ʹÓÃASP.NET MVC¿ò¼Ü£¬´´½¨Ä¬ÈÏÏîÄ¿£¬µÚÒ»Ö±¹Û¸Ð¾õ¾ÍÊǵØÖ·¶¼ÊÇRewrite¹ýµÄ¡£¶ÔÔ´ÂëºÍÅäÖÃÎļþÉÔ¼Ó·ÖÎö²»ÄÑ¿´³ö£¬MVCʹÓÃÁËhttpModulesÀ´À¹½ØµØÖ·ÇëÇ󣬾ßÌåÓõ½ÁËSystem.Web.RoutingÀà¿â£¨MVC2ÖУ¬MVC1ÔõôÓõÄÍü¼ÇÁË¡££©¶øÕⲿ·ÖÀà¿â±»°ü×°ÔÚ.NET Framework3.5 SP1ÖУ¬MVC2ÐèÒªSP1Ö§³ÖÒ²¾ÍÀíËùµ±È»ÁË¡£SP1Ìṩµ ......