我今天花了几个小时阅读了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可以做什么?
你几乎可以对Routes做任何事情,但关键是知道注册它们的顺序。当MVC选择一个路由时,它按照注册的顺序进行选择,匹配的第一个路由就是被选择的路由。