在.Net 4.0之前我們為了做出搜索引擎友好的,對用戶也友好的url都是需要自己實現Url重寫,現在不需要了,.Net 4.0為我們做這一切。UrlRouting之所以稱之為Routing是因為它不但實現了Url重寫還可以通過參數得到重寫後的Url在頁面上使用。
1. Url Routing 的通常用法
UrlRouting在Asp.Net Mvc項目中被廣泛使用,在Mvc中很好用,所以移植到了webform中,我們先看下在webform中的使用方式
假定一個使用場景:我們需要做博客每日文章的頁面,我們希望的url地址是:
/archive/2010/05/10/default.aspx
這個地址將被映射到~/posts.aspx文件上
要使用UrlRouting,需要將UrlRouting的規則注冊到RouteTable中,如下Global文件中注冊Routing規則的代碼
01
public static void RegisterRoutes(RouteCollection routes)
02
{
03
routes.Ignore("{resource}.axd/{*pathInfo}");
04
05
routes.MapPageRoute("blogs", //給這個UrlRouting規則起一個名字
06
"archive/{year}/{month}/{date}/default.aspx", //希望的友好Url地址格式
07
"~/blogs.aspx", //映射到的aspx頁面路徑
08
false, //是否需要檢查用戶權限
09
new RouteValueDictionary{ { "year", DateTime.Now.Year },
10
{ "month", DateTime.Now.Month },
11
{"date", DateTime.Now.Date}
12
},//參數的默認值
13
new RouteValueDictionary {
14
{"year",@"(19|20)d{2}"},
15
{"month",@"d{1,2}"},
16
{"date",@"d{1,2}"}
17
} //參數的規則,我們在這裡限制url中的年月日是我們想要的數據格式
18
);
19
20
}
21
22