ǰÑÔ
Èç¹ûÄã¿´ÁË×î½ü΢ÈíµÄÒé³Ì£¬Äã»á·¢ÏÖËûÃÇÏÖÔڵĽ¹µã³ýÁËMVC£¬»¹ÊÇMVC¡£ÎÊÌâÔÚÓÚΪʲô΢ÈíÈç´ËÈÈÖÔÓÚ¶ªÆú´«Í³µÄAPS.NET
Webform¶ø×ªÏòASP.NET MVC£¿±¾ÎľÍÖ÷ÒªÀ´ÌÖÂÛÕâ¸öÎÊÌâ¡£
ASP.NET Webform ºǫ́´úÂ루behind code£©¡ª¡ª
¸£ÒôÓë×çÖä
Èç¹ûÄãÃÜÇйØ×¢¹ýASP.NET Webform¼¼Êõ£¬Äã»á·¢ÏÖËü¸ü½Ó½ü¿ÉÊÓ»¯Éè¼Æ£¬»»¾ä»°Ëµ£¬¿ª·¢ÕßÖ»ÐèÒª´ÓÉè¼ÆÃæ°åÖÐÍÏ×§¿Ø¼þ¼´¿ÉÍê³ÉUI£¬½Ó×ÅÔÚbehind
codeÖÐʵÏÖÂß¼´úÂë¼´¿ÉÍê³É×îºóµÄWebÒ³Ãæ¹¦ÄÜ¡£

ËùÒÔ»»¾ä»°Ëµ£¬µ±Äã´ÓÉè¼ÆÃæ°åÖÐÍÏ×§Ò»¸ö°´Å¥Ê±£¬ÔÚºǫ́´úÂëÖоͻáÉú³ÉÒ»¸öbutton¶ÔÏó£¬ÄãÖ»ÐèÒªÔÚ°´Å¥µÄµã»÷ʼþÖÐʵÏÖʼþÏìÓ¦´úÂë¼´¿É¡£
public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Developers write code here }
protected void Button1_Click(object sender,
EventArgs e)
{
// Developers write code here
}
} |
µ±ÎÒÃÇÔÚÒ³ÃæÖÐÍÏקһЩUIÔªËØÊ±£¬Ë«»÷ËüÃǼ´¿ÉÔÚºǫ́´úÂëÖÐÉú³ÉһϵÁÐʼþÏìÓ¦´úÂ룬ÕâЩÂß¼´úÂë¶¼ÔÚASPX.CSÎļþÖС£

Õâ¸öºǫ́´úÂëÎļþÊÇASP.NET WebformµÄ¹Ø¼ü£¬Äã¿ÉÒÔÔÚÕâ¸öÎļþÖÐÓ¦ÓÃ.NETµÄËùÒÔÌØÐÔ£¬°üÀ¨Ê¼þ¡¢Î¯ÍС¢HTTPÐÒéÒÔ¼°sessionµÈµÈ¡£
µ«ÊÇÕâÖÖbehind codeģʽÓÐ5¸öÎÊÌ⣬ÏÂÃæÎÒÃǽ«Ò»Ò»½²ÊöÕâ5¸öÎÊÌ⣬²¢ÓÃMVCµÄÉè¼ÆË¼ÏëÀ´·Ö±ð½â¾öÕâЩÎÊÌâ¡£
ÎÊÌâ1£º»ùÓÚÊÓͼµÄ·½°¸À´½â¾ö»ùÓÚÐÐΪµÄÐèÇó
ÎÒÃǵÄÍøÕ¾×îÖÕÊÇÓÉÓû§Ê¹Óõģ¬Óû§·ÃÎÊÍøÕ¾¿Ï¶¨»áÓÐÌØ¶¨µÄÄ¿µÄ£¬ÍøÕ¾Òª×öµÄ¾ÍÊÇͨ¹ýÈÃÓû§µÄ½»»¥ÐÐΪÀ´Íê³ÉÆäÏëÒªµÄÄ¿µÄ¡£±ÈÈçµ±Óû§·ÃÎÊÒ»¸ö¹ºÎïÍøÕ¾Ê±£¬Ò²ÐíËûµÄ½»»¥ÐÐΪ»áÊÇÕâÑùµÄ£º
1.¹ºÂò²úÆ·
2.´òÓ¡·¢Æ±
ÕâЩ½»»¥ÐÐΪÊÇͨ¹ý°´Å¥µã»÷¡¢ÓÒ¼üµã»÷ºÍä¯ÀÀÆ÷URLʵÏֵġ£ÓÉÓÚÕâЩ½»»¥¶¼ÊÇ»ùÓÚHTTPÐÒéµÄ£¬ËùÒÔÈç¹ûÎÒÃÇÄܽ«ÕâЩ½»»¥ÐÐΪӳÉäµ½¾ßÌåµÄһЩ·½·¨ÉÏ£¬ÄÇôÕû¸ö¼Ü¹¹½«»á±äµÃ¼òµ¥ºÜ¶à¡£
µ«ÊÇ΢Èí×ö²»µ½ÕâÑù£¬ÒòΪËüҪʵÏÖ¿ÉÊÓ»¯ÍøÒ³±à³Ì£¬ËùÒÔËûÃÇ×îÖÕÑ¡ÔñÁË»ùÓÚÊÓͼµÄ½â¾ö·½°¸¡£

´ÓÉÏͼ¿ÉÒÔ¿´³ö£¬Õû¸öÇëÇó¹ý³Ì¿´ÉÏÈ¥ºÜÆæ¹Ö£º
1.Óû§·¢ÆðÒ»¸öHTTPÇëÇ󣬱ÈÈçHTTP POST / GET
2.IIS·þÎñÆ÷½«ÇëÇóÓ³Éäµ½ÊÓͼ
3.ÊÓͼµ÷ÓÃÒ³ÃæµÄÉúÃüÖÜÆÚ£¬Í¨¹ýʼþÇý¶¯£¬µ÷ÓúÏÊʵĽ»»¥·½·¨
4.×îºó½«½»»¥µÄ½á¹ûÕ¹ÏÖ¸øÖÕ¶ËÓû§
ÒòΪ΢ÈíÒ»¿ªÊ¼¾ÍÑ¡ÔñÁË»ùÓÚÊÓͼµÄÉè¼Æ·½°¸£¬ËùÒԼܹ¹±¾ÉíºÜÄÑÏò»ùÓÚÓû§½»»¥µÄÉè¼ÆË¼Ï뿿£¡£»»¾ä»°Ëµ£¬µ±Óû§·¢³ö¡°¹ºÂò¡±ÇëÇóʱ£¬ÏÈÊÇ·ÃÎÊÁËÊÓÍ¼Ò³Ãæ¡°Shopping.aspx¡±£¬ºǫ́Âß¼´úÂëÔÚ¡°Shopping.aspx.cs¡±ÖУ¬Ò³ÃæÉúÃüÖÜÆÚÖÐ»á½«Ò³ÃæµÄ¼ÆËã½á¹û·µ»Ø¸øÓû§¡£

Èç¹ûÀûÓÃMVCµÄ˼Ï룬¶¼ÊÇ»ùÓÚÓû§½»»¥ÐÐΪµÄ»°£¬ÄÇôÇëÇóÁ÷³Ì½«»áÊÇÈçÏÂËùʾ£º

ÎÊÌâ2£º»µ¼Ü¹¹µÄ¸±×÷Óà ¡ª¡ª ½ôñîºÏ
µ±ÄãÑ¡ÔñÁËÒ»¸ö´íÎóµÄ¼Ü¹¹ÒÔºó£¬Î´À´½«»á³öÏֺܶàÄÑÒÔ½â¾öµÄ¸±×÷Óã¬ÔÚASP.NET
WebformÖоͳöÏÖÁËÕâ¸öÎÊÌâ¡£¾¡¹Übehind codeºǫ́´úÂë±»·ÖÀëµ½²»Í¬µÄÎļþÖУ¬µ«ÊÇASPX.CSÎļþºÍASPXÎļþÈ´½ôÃܵÄÁªÏµÔÚÒ»Æð£¬Õ⽫µ¼ÖÂϵͳµÄñîºÏ¶ÈºÜ¸ß£¬²¢ÇÒºÜÄѽâñîºÍ£¬ÕâÊÇÒ»¸öºÜÍ·ÌÛµÄÎÊÌâ¡£

¼òµ¥µØËµ£¬ÎÒÃǺÜÄѽ«Customer.aspx.csºÍCustomerDetailed.aspx¼òµ¥µØ°þÀ뿪£¬ºǫ́´úÂëÒѾ½ô½ôµØ½«ÆäÀ¦ÔÚÒ»Æð£¬¶øÇÒÒ²ºÜÄѸ´Óá£Èç¹ûÎÒÃÇ¿ÉÒÔ½«ÇëÇóÏÈͨ¹ýaction£¬¶ø²»Í¬¹ýÊÓͼview£¬actionµÃµ½µÄÊý¾ÝÔÙÓÉ¿ØÖÆÆ÷¾ö¶¨ÓÉÄĸöviewչʾ£¬ÄÇôÇëÇóµÄÁ÷³Ì½«»áÊÇÕâÑùµÄ£º

ËùÒÔÎÒÃÇ¿ÉÒԺܷ½±ãµØ¿ØÖÆ×îÖÕ½á¹ûÊÇÓÉÒÆ¶¯Ò³ÃæÕ¹Ê¾»¹ÊÇÕý³£Ò³ÃæÕ¹Ê¾£¬ÈçÏ´úÂ룺
public ActionResult Index(string DeviceType) { if (viewType == "Mobile") { return View("MobileView"); } else { return View("NormalView"); } } |
ÎÊÌâ3£ºHTML²»ÊÇΨһµÄ·µ»ØÀàÐÍ
ÓÉÓÚÊÓͼviewºÍºǫ́´úÂëbehind code½ôÃÜñîºÏÔÚÒ»Æð£¬ËùÒÔĬÈϵķµ»ØÀàÐ;͹̶¨ÁË£¬¶¼ÊÇHTMLÀàÐÍ¡£Èç¹ûÄãÏë¸Ä±äÀàÐ;ͱØÐëÉèÖÃContent-typeºÍµ÷ÓÃResponse.End·½·¨¡£
Èç¹ûÎÒÃÇ´´½¨Ò»¸öAction£¬·µ»ØµÄÀàÐÍÓÉActionÖÐÖ¸¶¨£¬ÏµÍ³¾Í¿ÉÒÔÔÚͬһ¸öactionÖиù¾Ý²»Í¬Ìõ¼þÊä³ö²»Í¬µÄ·µ»ØÀàÐÍ¡£´úÂëÈçÏ£º
public ActionResult Index(string viewType) { if (viewType == "JSON") { return Json(new Customer(), JsonRequestBehavior.AllowGet); } else { return View("DisplayCustomer", new Customer()); } } |
ÎÊÌâ4£ºÊÓͼºÍÊý¾ÝµÄÁé»î×éºÏ
WebformÊÇÊÓͼÓÅÏȵļܹ¹£¬ËùÒÔÊÓͼ¾ö¶¨ÁËÕ¹ÏÖµÄÊý¾Ý£¬ËùÒÔÊÓͼµÄÀ©Õ¹ÐԾͺܲÈç¹ûÓöµ½¸´ÔÓµÄÊý¾Ý½á¹¹£¬ÕâÖÖ·½Ê½¾ÍÏÔµÃÁ¦²»´ÓÐÄÁË¡£
µ«ÊÇÈç¹ûÊÇÐÐΪÓÅÏȵļܹ¹µÄ»°£¬µ±ÎÒÃÇ´¥·¢actionʱ£¬action¿ÉÒÔ¸ù¾Ý²»Í¬µÄÇëÇóÑ¡Ôñ²»Í¬µÄÊý¾ÝÄ£ÐͺÍÊÓͼ½á¹¹£¬ÈçÏÂͼ£º

ÔÚMVCÖУ¬Äã¿ÉÒÔÔÚ²»Í¬µÄviewÖÐÑ¡ÔñÏàͬµÄÊý¾ÝÄ£ÐÍ£¬±ÈÈçÏÂÃæµÄ´úÂ룬customerdataÊý¾Ý¼È¿ÉÒÔ°ó¶¨ÔÚDetailCustomerÊÓͼÖУ¬Ò²¿ÉÒÔ°ó¶¨ÔÚCustomerÊÓͼÖС£
public ActionResult Index(string ViewName,Customer customerdata) { if (ViewName == "Detailed") { return View("DetailCustomer",customerdata); } else { return View("Customer",customerdata); } } |
ÕâÔÚWebformÖÐʵÏÖÆðÀ´ÊǷdz£Âé·³µÄ¡£
ÎÊÌâ5¡¢½«behind codeµ±×öÆÕͨµÄÀàÀ´½øÐе¥Ôª²âÊÔ
behind codeºǫ́´úÂëÔÚWebformÖÐÊÇÒ»¸ö·Ç³£ÅÓ´óµÄÀ࣬²¢ÇÒ²»Äܼòµ¥µØÊµÀý»¯¡£ÒªÖªµÀWebformÊǼ̳ÐÓÚPageÀàµÄ£¬PageÀ಻ÄÜÖ±½ÓʵÀý»¯£¬ÒòΪËüÓÐÌ«¶àµÄÒÀÀµÏîÁË¡£
public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {
}
public void Button1_Click(object sender, EventArgs
e)
{
Session["SomeSession"] = "Is this
set";
}
} |
ÄãΪʲôÏëҪʵÀý»¯PageÀàÄØ£¿ÆäÖÐÒ»¸öÔÒò¾ÍÊÇ¿ÉÒÔ·½±ãµ¥Ôª²âÊÔ¡£±ÈÈçÎÒÒª²âÊÔÒ»¸ö°´Å¥µã»÷ʼþ£¬ÓÃÀ´¼ì²éSessionÊÇ·ñÉèÖóɹ¦¡£ÔÚWebformÖеĴúÂë¿´ÆðÀ´²»ÊÇÄÇÃ´Êæ·þ£º
[TestMethod] public void TestMethod1() { WebApplication22.WebForm1 obj = new WebApplication22.WebForm1();
obj.Button1_Click(this, new EventArgs());
} |
²¢ÇÒÔËÐÐʱ»¹»áÅ׳öÒ»¸öÒì³££º

ÔÚMVCÖУ¬Õâ¸öÀà±ä³ÉÁËÒ»¸öÆÕͨÀ࣬ÎÒÃÇ¿ÉÒÔÔÚ²âÊÔ¹¤³ÌÖн«ËüʵÀý»¯£¬²¢¶ÔÀàÀïÃæµÄÊôÐÔ·½·¨¡¢Session¡¢viewbag
¡¢ tempdataµÈ½øÐе¥Ôª²âÊÔ¡£
public class HomeController : Controller // ß this class is simple { public ActionResult Index() { Session["SomeSession"] = "Is this set"; return View("SomeView"); } } |
ËùÒÔÊÇ·ñÑ¡ÔñMVC½â¾ö·½°¸£¿

´ÓWebform¼Ü¹¹Çл»µ½MVC¼Ü¹¹£¬ÄãÐèÒª×öÒÔϼ¸¼þÊÂÇ飺
1.½«behind codeÖеĴúÂë×ªÒÆµ½controllerÀàÖУ¬²¢½«ÔÀ´µÄ·½·¨×ª»»³Éaction·½·¨¡£
2.Öмä²ãÓÃÊý¾ÝÄ£ÐͺÍÂß¼½Ó¿Ú´úÌæ¡£
3.ÊÓͼviewÖ»ÓÃÀ´Õ¹ÏÖÊý¾ÝºÍÒ³Ãæ²¼¾Ö¡£
4.DAL²ãºÍÆäËû²ãûÓÐʲô±ä»¯£¬ÒòΪËüºÍbehind code¹ØÏµ²»´ó¡£

ËùÒÔMVC¼Ü¹¹ÖУ¬Óû§µÄÇëÇó·ÖΪÏÂÃæ3¸ö²½Ö裺
1.ÖÕ¶ËÓû§·¢ËÍÇëÇó£¬Â·ÓÉÆ÷½«ÇëÇó·Óɵ½ºÏÊʵÄController£¬ControllerÊÇÂ߼ʵÌåºÍÐÐΪactionµÄ¼¯ºÏ¡£
2.Controller½«ÇëÇóÓ³Éäµ½ÌØ¶¨µÄAction¡£
3.actionÓÐÁ½¸öÈÎÎñ£¬µÚÒ»ÊÇ»ñÈ¡ºÏÊʵÄÊý¾Ý£¬µÚ¶þÊǽ«ÕâЩÊý¾ÝºÍÊÓͼview°ó¶¨ÆðÀ´¡£action´´½¨Êý¾ÝÄ£ÐÍ£¬²¢½«Êý¾ÝÄ£ÐÍÁ¬½Óµ½Ö¸¶¨view£¬Êä³ö×îÖÕµÄÏàÓ¦½á¹û¡£
|