為ASP.NET MVC應(yīng)用添加自定義路由
這里,我們將學(xué)習(xí)如何給asp.net mvc應(yīng)用添加自定義路由。用自定義路由來(lái)修改默認(rèn)路由表。
對(duì)一些簡(jiǎn)單的asp.net mvc應(yīng)用,默認(rèn)的路由表就已經(jīng)足夠了。但是,當(dāng)你需要?jiǎng)?chuàng)建特殊的路由時(shí),就需要?jiǎng)?chuàng)建自定義路由了。
假設(shè)正在進(jìn)行一個(gè)blog項(xiàng)目的開(kāi)發(fā),希望處理用戶(hù)的請(qǐng)求地址如下:
/Archive/12-25-2009
當(dāng)用戶(hù)輸入這個(gè)URL時(shí),你想返回日期12-25-2009的blog入口,為了實(shí)現(xiàn)這個(gè)路由,需要添加自定義路由。
 
在這個(gè)asp.net mvc應(yīng)用中,這個(gè)方法中含有一個(gè)自定義路由,叫做blog,它可以接受像/Archive/entydate類(lèi)型的url。
這里我們需要把自定義的路由放在默認(rèn)路由的上面,如果顛倒了,則還是總會(huì)請(qǐng)求默認(rèn)的路由表。
我們自定義的路由會(huì)匹配以archive開(kāi)頭的url,像下面這些url都會(huì)被它處理。
/Archive/12-25-2009
/Archive/10-6-2004
/Archive/apple
自定義路由映射請(qǐng)求的url為ArchiveController,并且執(zhí)行Entry()action。當(dāng)entry方法被調(diào)用時(shí),entrydate被作為該方法的參數(shù)傳遞過(guò)來(lái)。
ArchiveController代碼如下
 
我們看到,entry方法接受了一個(gè)datetime類(lèi)型的參數(shù),mvc框架足夠的漂亮來(lái)自動(dòng)轉(zhuǎn)換entrydate為datetime類(lèi)型,如果url中的entrydate不能順利轉(zhuǎn)換為datetime,則會(huì)報(bào)錯(cuò)。
以上就是asp.net mvc應(yīng)用中自定義路由的方法。
【編輯推薦】















 
 
 
 
 
 
 