成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解ASP.NET 4中的URL Routing功能

開發 后端
在這里我們將體驗下ASP.NET 4中的URL Routing功能,希望本文能對價了解URL Routing有所幫助。

本文將從URL Routing的概念開始講起,同時介紹ASP.NET 4.0中關于URL Routing的功能問題。希望本文能對大家有所幫助。

什么是URL Routing

首先,URL routing其實在ASP.NET 5 SP1中就被引入了,但是介于之前一直沒有用到,況且微軟的很多關于ASP.NET 4的介紹都把這作為一新的功能,因此就把題目取為這個吧。
之前,一個典型的ASP.NET的URL通常如下http://www.myexample.com/salesreport.aspx?year=2009

在這個URL中的salesreport.aspx代表的是一個真實存在的物理文件,后綴.aspx在url中的存在不僅完全沒有意義,而且使得這個url不是SEO-friendly的。而使用URL Routing之后,我們就可使用如下更簡潔明了的地址來訪問了,http://www.myexample.com/salesrepot/2009

使用Route Engine進行URL Mapping

在asp.net mvc中,通過MapRoute將url映射到相應的controller和action, 而在web form中,在Global.assx的Application_Start中,我們通過MapPageRoute來將url映射到一個頁面上

  1. void RegisterRoutes(RouteCollection routes)   
  2. {      
  3. routes.MapPageRoute("SalesRoute""SalesReport/{year}""~/sales.aspx");                                  

MapPageRoute這里使用了三個參數,***個是給這個Route的命名,第二個是這個URL的映射Pattern, 而***一個就是對應的ASPX頁面。除了這個最常用直接的方法之外,還可以使用其重載的其它方法,來個route設置default值,添加各種約束條件,如下面的這一個

  1. void RegisterRoutes(RouteCollection routes)   
  2. {   
  3.  routes.MapPageRoute("SalesRoute",   
  4.                         "SalesRoute/{year}",   
  5.                           
  6. "~/sales.aspx"true,   
  7.                        new RouteValueDictionary{   
  8.                             { "year", DateTime.Now.Year.ToString()}},                                            
  9.                         new RouteValueDictionary{   
  10.                            { "year", @"\d{4}" } });   

相比于***個route,這個多了三個參數,***個為boolean值,后面兩個為RouteValueDictionary, 其中***個就指定了一個default值,而***一個就是一個約束,通過正則表達式約束了參數year必須是四位的數字。

在將SalesRoute/2009成功的映射到sales.aspx頁面之后,如何在sales的code中獲取這個“2009"值呢?通過Page類的RouteData來獲取

  1. protected void Page_Load(object sender, EventArgs e)   
  2. {       
  3. string year = RouteData.Values["year"as string;                                                    

使用Routing Engine生成URL

除了解析URL之外,我們同時可以生成這些簡潔明了的URL, 如下面的代碼

  1. RouteValueDictionary parameters = new RouteValueDictionary   
  2. {   
  3. "year""2008" },   
  4. "category""recreation" }  
  5. };    
  6. VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null"SalesRoute", parameters);                      
  7. hyperLnk.NavigateUrl = vpd.VirtualPath; 

這里的SalesRoute就是我們在Application_Start中注冊過的那個Route。 值得注意的是,在SalesRoute的Pattern中,我們并沒有”{category}”,那么RouteEngine怎么處理這個值呢?這時,category就為被作為一個querystring添加到url中,生成的URL將會是這樣的:http://www.myexample.com/salesreport/2009?category=recreation

此外,如果在這個sales頁面上加一個button,這個button對應的url會不會也會如上面的url那樣簡潔呢?答案是肯定的。但是是通過在Form標簽中,指定Action來實現頁面的回發。

總結

雖然這個新生添加Route功能并不能使Asp.Net Web Form變得像Asp.Net MVC那樣讓人心動,不過這至少是一個不錯的功能。

原文標題:體驗ASP.NET 4之URL Routing

鏈接:http://www.cnblogs.com/jun1st/archive/2009/10/25/aspnet_urlrouting.html

【編輯推薦】

  1. 中途關閉ASP.NET是否影響服務器端執行
  2. 關閉瀏覽器Session1分鐘失效ASP.NET的BUG
  3. 概述ASP.NET頁面框架
  4. 描述ASP.NET頁面表單
  5. ASP.NET 頁面對象模型
責任編輯:彭凡 來源: 博客園
相關推薦

2009-08-21 10:51:55

ASP.NET Rou解析URL

2009-08-19 09:23:40

ASP.NET Rou

2009-07-21 15:11:14

ASP.NET Rou

2009-07-31 09:58:20

URL映射ASP.NET

2009-07-22 14:23:39

URL RewriteASP.NET

2009-03-09 13:46:31

RoutingWebASP.NET

2009-07-23 16:28:20

URL映射ASP.NET 2.0

2009-07-22 18:08:00

ASP.NET跨頁提交

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-13 11:44:25

ASP.NET中的多種

2009-07-27 17:15:51

URL RewriteASP.NET

2009-01-04 13:27:10

URL RewriteIISASP.NET

2009-03-12 10:42:38

RoutingIgnoreRouteASP.NET

2010-01-08 11:04:06

ASP.NET 4SEO

2009-07-31 09:39:59

ASP.NET和URL

2009-08-05 13:16:43

ASP.NET URL

2009-07-22 16:25:41

ASP.NET AJA

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-24 10:14:22

ASP.NET開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www国产成人 | 亚洲综合在线播放 | 在线观看国产wwwa级羞羞视频 | 精品91久久 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 成人午夜影院 | 国产精产国品一二三产区视频 | h肉视频| 中文字幕欧美一区二区 | 亚洲欧美精 | 日本成人在线免费视频 | 精品国产黄色片 | 999免费观看视频 | 久久99久久| 99久久免费精品 | 一区在线观看 | 国产成人在线视频 | 自拍偷拍第一页 | 日韩欧美专区 | 黄色a三级 | 国产精品久久久久久久免费大片 | 天天干国产 | 男人的天堂在线视频 | av黄色在线观看 | 神马久久春色视频 | 午夜二区 | 久国产| 亚洲区一区二 | 三级av免费 | 国产精品成人一区二区 | 韩国久久精品 | 久久精品亚洲精品国产欧美kt∨ | 99久久久无码国产精品 | 欧美精品一区二区免费 | 亚洲www啪成人一区二区麻豆 | 久久综合狠狠综合久久综合88 | 日韩久久久久久 | 老司机午夜性大片 | 在线精品国产 | 2019天天干夜夜操 | 久国久产久精永久网页 |