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