掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
這里,我們將學(xué)習(xí)如何給asp.net mvc應(yīng)用添加自定義路由。用自定義路由來修改默認(rèn)路由表。

對(duì)一些簡單的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)目的開發(fā),希望處理用戶的請(qǐng)求地址如下:
/Archive/12-25-2009
當(dāng)用戶輸入這個(gè)URL時(shí),你想返回日期12-25-2009的blog入口,為了實(shí)現(xiàn)這個(gè)路由,需要添加自定義路由。
在這個(gè)asp.net mvc應(yīng)用中,這個(gè)方法中含有一個(gè)自定義路由,叫做blog,它可以接受像/Archive/entydate類型的url。
這里我們需要把自定義的路由放在默認(rèn)路由的上面,如果顛倒了,則還是總會(huì)請(qǐng)求默認(rèn)的路由表。
我們自定義的路由會(huì)匹配以archive開頭的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ù)傳遞過來。
ArchiveController代碼如下
我們看到,entry方法接受了一個(gè)datetime類型的參數(shù),mvc框架足夠的漂亮來自動(dòng)轉(zhuǎn)換entrydate為datetime類型,如果url中的entrydate不能順利轉(zhuǎn)換為datetime,則會(huì)報(bào)錯(cuò)。
以上就是asp.net mvc應(yīng)用中自定義路由的方法。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流