2010-06-05 140 views
3

我已經花了幾個小時閱讀了ASP.NET MVC中的自定義路由。我可以理解如何執行任何類型的自定義路由,如果它從默認路由擴展或類似/小於默認路由。不過,我想弄清楚如何做類似的路線:ASP.NET MVC自定義路由長自定義路由不在我的腦海中點擊

/Language/{LanguageID}/Question/{QuestionID}/ 

什麼,我想,也類似於怎麼這麼工作。喜歡的東西:

/Language/{LanguageID}/Arabic/Question/{QuestionID}/Some-Question-Title 

其中,「阿拉伯語」和「有些個問題 - 標題」幾乎可以是任何東西,因爲真正重要的是該ID的

一個完整的URL例子可能是

http://example.com/Language/22/Arabic/Question/135/What-is-the-importance-of-grammar 

我超越了通過語言ID擴展的URL可以做什麼嗎?

+0

「id」是兩個單獨的ID嗎?例如。語言ID和問題ID? – kervin 2010-06-05 21:35:28

+0

是的。我試圖保持它「簡單」,但我會編輯它以更好地反映這一點。 – percent20 2010-06-05 21:37:44

回答

0

你幾乎可以做任何事情與路線,但關鍵是知道以何種順序註冊它們。當MVC選擇一條路線時,它按照它們的登記順序執行,並且匹配的第一條路線就是選擇的路線。