我有一个与ASP.NET MVC应用程序的一些路由有趣的问题。我正在构建一个CMS,并且我有一个捕获所有处理程序,它接受URL并检查数据库中是否有匹配的内容。如果是这样,则显示它,否则我们得到了404ASP.NET MVC,区域,路由和控制器工厂
现在我已经获得了所有与一些测试数据的工作,我提出写一个快速的管理系统。我想我会使用一些新的Area功能烘焙到MVC 2中,所以我创建了一个名为Admin的区域,其中包含一个名为Home的控制器。 但现在我有一个问题,在请求应用程序根路径时,管理区中的默认HomeController正在返回。
问题是没有其他HomeController用于'root'应用程序(托管所有区域的应用程序),而是根将被重定向到我的catch-all处理程序并从数据库填充。因此,现在控制器工厂正在返回最佳匹配控制器,它认为它是管理区域,我真正需要的是它完全不匹配 - 就像以前一样。
除了重命名管理员的HomeController别的东西,是有另一种解决方案?
忘记了更新,但这是最终的解决方案。 – Kieron 2010-11-19 13:14:42