|
|
1
30
除了Haacked所说的,订购地区注册(以及他们的路线)是非常可能的。你所要做的就是手动注册每个区域,按你想要的顺序。它不像调用RegisterAllAreas()那样流畅,但绝对是可行的。
另一种选择是获取RegisterAllAreas()的代码,将其复制到您自己的应用程序中,并构建您自己的机制来确定顺序。如果您需要内置方法所具有的所有奇特的缓存逻辑,那么要复制的代码就相当多,但您的应用程序可能甚至不需要这些。 |
|
|
2
7
目前无法订购区域。然而,我认为尝试使每个区域尽可能独立于其他区域是有意义的,这样顺序就不重要了。 例如,不必使用默认的{controller}/{action}/{id}路由,可以使用每个控制器的特定路由替换该路由。或向该默认管线添加约束。 我们正在考虑允许订购的选项,但我们不想使功能过于复杂。 |
|
|
3
4
我提出这个解决方案: AreaUtils.cs
在global.asax中:
生成的区域注册码无需更改。 我还使用路由中的自定义constrant按请求中的域类型(系统域或用户站点)过滤路由。 以下是我的区域注册示例:
|
|
|
4
4
在MVC3(不知道MVC2)中,当您只想将根映射到特定的区域/控制器时,您只需使用全局路由即可。 请记住指定名称空间/区域。
|