asp.net-mvc - MVC 2 区域注册路由顺序

标签 asp.net-mvc .net-3.5 routes asp.net-mvc-routing

我注意到在 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/

相关文章:

zend-framework - Zend 框架 : Route assemble and GET parameters

apache - Apache Tomcat 中的路由子域

symfony - 如何在Symfony 4中获得有效的类(class)?

asp.net-mvc - 重定向至操作并需要传递数据

ASP.NET/MVC Bundler 缓存不起作用

c# - WPF中的动画GIF问题

c# - 异步方法在 C# 中如何工作?

c# - POST 表单数据而不提交

jquery - 使用 mvc4 中的 form.serialize() 发布包含 HttpPostedFileBase 文件以及一些参数的模型

.net - 在 .NET 3.5 SP1 上使用 EF 4