这应该很简单,但唉......
我在MVC 2项目中设置了一个管理区域(单个项目区域)。我已经创建了几个控制器及其各自的视图文件夹。在AreaRegistration.RegisterArea方法中,我已指定我希望默认控制器为“仪表板”:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Dashboard", action = "Index", id = "" }, new string[] { "Admin" }
);
}
如果我导航到url / Admin / Dashboard,索引会很好。但是,我想要的是允许用户转到url / Admin /并查看相同的内容。但是,当我这样做时,我得到“无法找到资源”。
我只是对MVC 2的区域实施感到不满,我认为我做的事情并不复杂......任何人都遇到同样的问题?我是否需要指定一条单独的路径,可能是在根区域,非区域级别?
答案 0 :(得分:1)
尝试添加此额外路线:
context.MapRoute(
"Admin_default2",
"Admin"
new { controller = "Dashboard", action = "Index", id = "" }
)
答案 1 :(得分:1)
好的,奇怪的。所以我添加了一个不同的区域,恰当地命名为“Administration”,设置默认控制器并添加了适当的控制器,视图等等。区别?在我的第一个案例中,我使用“Admin”作为区域。
答案 2 :(得分:0)
context.MapRoute(
"Admin_default3",
"Admin/{action}",
new { controller = "Admin", action = "Index" }
);