我注意到在 MVC 2 Preview 2 中,AreaRegistration 以任意顺序加载每个区域的路由。有没有什么好方法可以先得到一个?
例如,我有两个区域——“站点”和“管理员”。两者都有一个“博客” Controller 。
我想要以下内容:
/admin/ --> go to Admin's Blog controller
/ --> go to Site's Blog controller.
问题是它首先加载站点的路由,所以它匹配
{controller}/{action}/{id}
而不是 admin/{controller}/{action}/{id}
当我转到网址“/admin/”时。然后我得到 404,因为“站点”区域中没有管理 Controller 。这两个区域都默认为“博客” Controller 。我意识到我可以简单地输入
site/{controller}/...
作为网址,但如果可能的话,我宁愿将其放在根目录中。我还尝试在全局 RegisterRoutes 函数中保留默认路由,但是,它不会发送到“站点”区域。提前致谢!
最佳答案
目前无法订购区域。但是,我认为尝试使每个区域尽可能独立于其他区域是有意义的,因此顺序无关紧要。
例如,代替默认的 {controller}/{action}/{id} 路由,可以用每个 Controller 的特定路由替换它。或者向该默认路由添加约束。
我们正在考虑允许订购的选项,但我们不想使该功能过于复杂。
关于asp.net-mvc - MVC 2 区域注册路由顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639971/