ASP.NET 4µ±ÖÐUrl RoutingµÄÖ§Ô®
ASP.NET 4µÄWeb Formsµ±ÖУ¬×îÁîÈ˼¤É͵ģ¬ÔòιýÓÚÊÇURL Routing»úÖÆµÄÈ«ÃæÖ§³Ö¡£¹ýÈ¥ÔÚASP.NET 3.5 SP1µ±ÖУ¬Web Forms»ò¶à»òÉپͿªÊ¼Ö§³ÖURL Routing»úÖÆ£¬ËüÈÃÎÒÃÇÔÚÍøÖ·µÄ³ÊÏÖÒÔ¼°Ê¹ÓÃÉϸü¼ÓµÄÓе¯ÐÔ¡£
¹ýÈ¥ÎÒÃÇÔÚASP.NETµ±ÖУ¬Ï°¹ßÓÚµ×ÏÂÕâÑùµÄÍøÖ·³ÊÏÖ·½Ê½£º
http://myWebSite/EditProduct.aspx?Id=1
µ«×î½ü¼¸ÄêREST·ç¸ñµÄÍøÕ¾(»òREST Web·þÎñ)ÐËÆð£¬Äã³£³£»á¿´µ½ÍøÖ·µÄ³ÊÏÖ·½Ê½±ä³É£º
http://myWebSite/Product/Edit/XBOX
ÉÏÃæÕâÑùµÄÍøÖ·ÓÐһЩºÃ´¦£¬Ê×ÏÈ£¬ÍøÖ·¿ÉÒÔ¸üÃ÷È·µÄ±í´ïÏëÒª³ÊÏֵŦÄÜ£¬»òÊÇÒªºó¶ËÓ¦ÓóÌÐò½øÐеÄÐÐΪ£»Æä´Î£¬ÉÏÃæÕâÑùµÄÍøÖ·ÓÉÓÚ²¢·Ç¶ÔÓ¦µ½ºó¶Ëijһ¸öʵÌåµµ°¸(.aspx.cs)£¬¶øÊÇ͸¹ýRouting»úÖÆÀ´×ªÅÉ£¬Òò´ËÏà½Ï¹ýÈ¥µÄÍøÖ·ÓÐןü¸ßµÄ°²È«ÐÔ¡£
Ò²¾ÍÊÇ˵£¬ÔÚÕâÑùµÄ¼Ü¹¹Ï£¬ASP.NETÓ¦ÓóÌÐòµÄÍøÖ·ÔÙÒ²²»Ö»ÊǶÔÓ¦µ½ÊµÌåµµ°¸µÄ·¾¶£¬¶øÊÇ¿ÉÓÃÀ´±í´ïÒªÖ´ÐеŦÄÜ¡£ÖÁÓÚʵ¼ÊÖ´ÐÐʱҪ´¦ÀíµÄ³ÌÐò´úÂë»ò³ÊÏÖ½á¹ûµÄÍøÒ³£¬Ò²²¢·ÇÒ»¶¨ÒªÊÇÓÉÍøÖ·ËùÖ¸ÏòµÄʵÌåÒ³Ãæ¡£ÕâÒ²ÈÃÎÒÃÇÔÚ¿ª·¢Ó¦ÓóÌÐòʱÓиü´óµÄµ¯ÐÔ£¬ÀýÈçÒ»°ãµÄ²¿Âä¸ñÍøÕ¾ÍøÖ·¿ÉÄÜÊÇ¡ºhttp://blog/studyhost¡»£¬ÓÉÓÚblogÍøÕ¾¶à°ë¶¼¿ÉÒÔ¿ª·Å¸ø¶àÈËÉêÇ룬ÀíËùµ±È»µÄÿһ¸öÓû§¶¼ÓÐÀàËÆ¡ºhttp://blog/ÉêÇëÕßID¡»ÕâÑùµÄÍøÖ·¡£µ±È»£¬¶ÔÓ¦µ½ASP.NETµÄºó¶ËÓ¦¸Ã¶¼ÊÇͬһÌ׳ÌÐòÀ´´¦Àí£¬ÔÚ¹ýÈ¥µÄASP.NETÓ¦ÓóÌÐòµ±ÖУ¬ÎÒÃǵÃҪɷ·ÑÒ»·¬¹¤·ò²ÅÄÜÈÃÍøÕ¾¿ÉÒÔ½ÓÊÜÕâÑùµÄÍøÖ·Éè¼Æ(°Ñ²ÎÊý´ÓQueryStringת±ä³ÉREST·ç¸ñ)£¬¶øÏÖÔÚ£¬Í¸¹ýURL Routing»úÖÆºÜ¿ìµØ¾ÍÄÜÇáËɸ㶨¡£
³ý´ËÖ®Í⣬»¹ÓÐÁíÒ»¸öÏÔ¶øÒ×¼ûµÄºÃ´¦£¬²ÉÓÃREST·ç¸ñµÄÍøÖ·£º
http://myWebSite/Product/Edit/XBOX
vs.
http://myWebSite/EditProduct.aspx?Id=1
Ïà½ÏÓÚ´«Í³ÍøÖ·¸üÈÝÒ×±»GoogleµÈËÑË÷ÒýÇæ²éѯÓë¼ìË÷£¬±Ï¾¹ÉÏÍ¼ÍøÖ·ÖеÄXBOX±ÈÆð²úÆ·Id=1À´µÃÈÝÒ×Àí½âµÄ¶à¡£
ÄÇÎÒÃÇÒªÈçºÎÔÚASP.NET 4µ±ÖÐʹÓÃÕâÑùµÄ»úÖÆÄØ£¬ÄúÖ»ÐèҪ͸¹ýмÓÈëµÄRoutesÀà±ð£¬ÀûÓÃMapPageRoute·½·¨¼´¿ÉÇáÒ×µÄÍê³ÉURL·ÓɵÄÖ¸¶¨£¬ÀýÈ磺
view plaincopy to clipboardprint?
protected void Application_Start(object sender, EventArgs e) {
RouteTable.Routes.MapPageRoute(
"TestRoute", "Search/{ProductName}", "~/WebForm1.aspx");
}
protected void Application_Start(object sender, EventArgs e) {
Ïà¹ØÎĵµ£º
¾³£ÐèÒªÔÚÊý¾Ý¿âÓëExeclÖ®¼ä»¥µ¼Êý¾Ý¡£netʱ´ú£¬ADO.NET¿ÉÒÔʹÓÃʹÓÃMicrosoft.Jet.OleDb·ÃÎÊ·ÃÎÊExcel£¬ÍøÉÏÒѾÓкܶàÀàËÆµÄ×ÊÔ´£¬×îµäÐÍÒ²ÊÇ×î¼òµ¥µÄ¿ÉÄÜÈçÏ£º£¨asp.net»·¾³£©
// Á¬½Ó×Ö·û´®
......
Ò»¡¢Ä¿Ç°ÔÚASP.NETÖÐÒ³Ãæ´«Öµ¹²ÓÐÕâô¼¸ÖÖ·½Ê½£º
1¡¢±íµ¥Ìá½»£¬
<form action= "target.aspx" method = "post" name = "form1">
<input name = "param1" value = "1111"/>
<input name = "param2" value = "2222"/>
</form>
....
for ......
Asp.netµÄÉí·ÝÑéÖ¤ÓÐÓÐÈýÖÖ£¬·Ö±ðÊÇ"Windows | Forms | Passport"£¬ÆäÖÐÓÖÒÔFormsÑéÖ¤ÓõÄ×î¶à£¬Ò²×îÁé»î¡£
Forms ÑéÖ¤·½Ê½¶Ô»ùÓÚÓû§µÄÑéÖ¤ÊÚȨÌṩÁ˺ܺõÄÖ§³Ö£¬¿ÉÒÔͨ¹ýÒ»¸öµÇÂ¼Ò³ÃæÑéÖ¤Óû§µÄÉí·Ý£¬½«´ËÓû§µÄÉí·Ý·¢»Øµ½¿Í»§¶ËµÄCookie£¬Ö®ºó´ËÓû§ÔÙ·ÃÎÊÕâ¸öwebÓ¦ÓþͻáÁ¬Í¬Õâ¸öÉí·ÝCookieÒ»Æð·¢Ë͵½·þÎñ¶Ë¡£·þÎñ¶ËÉ ......
ºÜ¶àͬѧ¶¼¶Á¹ýÕâÆªÎÄÕ塃 ASP.NET MVCÖÐÄã±ØÐëÖªµÀµÄ13¸öÀ©Õ¹µã£¬½ñÌì¸ø´ó¼Ò½éÉÜÒ»¸öASP.NET MVCµÄÀ©Õ¹¿â£¬Ö÷Òª¾ÍÊÇÕë¶ÔÕâЩÀ©Õ¹µã½øÐС£Õâ¸öÏîÄ¿µÄºËÐÄÊÇIOCÈÝÆ÷£¬°üÀ¨Ninject, StructureMap, Unity £¬WindsorºÍAutofac¡£Èç¹ûÄãºÍÎÒÒ»Ñùϲ»¶Ê¹ÓÃIOC£¬Õâ¸ö¿âÖµµÃÄã¹Ø×¢£¬ÕâЩIOCÎÒ¶¼ÓùýÁË£¬ÏÖÔڱȽÏϲ»¶Ê¹ÓÃAutofac¡£
AS ......
asaxÎļþ£º
¡¡¡¡<%@ Control Language="c#" AutoEventWireup="false" Codebehind="counter.ascx.cs" Inherits="JiAnWeb.counter" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
¡¡¡¡<LINK href="css.css" rel="stylesheet">
¡¡¡¡<FONT face="ËÎÌå">
¡¡¡¡<TABLE id="table_coun ......