无法在MVC 2 RC区域中设置默认控制器

nki*_*kes 5 asp.net-mvc routing

这应该很简单,但唉......

我在我的MVC 2项目(单个项目区域)内设置了一个管理区域.我已经创建了几个控制器及其各自的视图文件夹.在AreaRegistration.RegisterArea方法中,我已指定我希望默认控制器为"Dashboard":

public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller = "Dashboard", action = "Index", id = "" }, new string[] { "Admin" }
        );
    }
Run Code Online (Sandbox Code Playgroud)

如果我导航到url/Admin/Dashboard,索引就会好起来.但是,我想要的是允许用户转到url/Admin /并查看相同的内容.但是,当我这样做时,我得到"无法找到资源".

我只是对MVC 2的区域实施感到不满,我认为我没有做任何过于复杂的事情......任何人都有同样的问题?我是否需要指定一条单独的路线,可能是在根区域,非区域级别?

nki*_*kes 1

好吧,奇怪。所以我添加了一个不同的区域,恰当地命名为“管理”,设置默认控制器并添加适当的控制器、视图等,它起作用了。区别?在我的第一个案例中,我使用“Admin”作为区域。

  • 这需要进一步的研究,因为我想知道为什么“管理员”会造成麻烦。某处是否存在隐藏的命名冲突? (4认同)