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