我的文件夹如下所示:
- (根)/区域/管理员/视图/..
- (根)/区域/管理员/控制器/...
(根)/Areas/Admin/Routes.cs
(根)/区域/论坛/视图/..
- (根)/区域/论坛/控制器/...
(根)/Areas/Forum/Routes.cs
public class Routes : AreaRegistration
{公共覆盖字符串AreaName {获取{返回“管理员”;} }
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Admin_Default", "{controller}/{action}/{Id}", new { controller = "Admin", action = "Index", Id = (string)null } ); }
}
公共类路线:AreaRegistration {公共覆盖字符串AreaName {获取{返回“论坛”;} }
public override void RegisterArea(AreaRegistrationContext routes) { routes.MapRoute( "Forum_Default", "{controller}/{action}", new { controller = "Forum", action = "Index"} ); }
}
全球.asax
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
AreaRegistration.RegisterAllAreas();
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
起始页应该是 Home/Index 但它以 Admin/Index 开头,为什么?
只有 site.com/Admin 有效,site.com/Forum 无效
我应该如何让管理和论坛区域正常工作?为什么只有管理员工作而不是论坛?
当我删除 Admin/Routes.cs 文件时,论坛开始工作......
编辑:
~/Views/ 中的主页即使我有也不会显示为起始页
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
在我的 Global.asax 之后 AreaRegistration.RegisterAllAreas();