asp.net mvc中的区域,只有一个工作时间
我的文件夹看起来像这样:
- (根)/地区/管理/查看/ ..
- (根)/区/管理/控制器/ …
-
(根)/Areas/Admin/Routes.cs
-
(根)/区/论坛/浏览/ ..
- (根)/区/论坛/控制器/ …
-
(根)/Areas/Forum/Routes.cs
public class Routes : AreaRegistration
{public override string AreaName {get {return“Admin”; }}
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Admin_Default", "{controller}/{action}/{Id}", new { controller = "Admin", action = "Index", Id = (string)null } ); }
}
public class Routes:AreaRegistration {public override string AreaName {get {return“Forum”; }}
public override void RegisterArea(AreaRegistrationContext routes) { routes.MapRoute( "Forum_Default", "{controller}/{action}", new { controller = "Forum", action = "Index"} ); }
}
Global.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 /即使我有,也不显示为startpage
routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults
在AreaRegistration.RegisterAllAreas()之后的Global.asax中;
我相信你的区域映射应该是这样的。
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Admin_Default", "Admin/{controller}/{action}/{Id}", new { controller = "Admin", action = "Index", Id = (string)null } ); }
和
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Forum_Default", "Forum/{controller}/{action}/{Id}", new { controller = "Forum", action = "Index"} ); }
保持您的路线不会发生冲突,这就是我认为您的情况正在发生的情况。 由于您的默认路由与您的管理路由匹配。
- LINQ to Entities无法识别方法’System.String get_Item(System.String)’,
- 带有一个必需参数和一个可选参数的ASP.NET MVC路由?
- ASP.NET MVC在虚拟目录中
- dependency injection(使用SimpleInjector)和OAuthAuthorizationServerProvider
- 与区域同名的控制器 – Asp.Net MVC4
- 通过在浏览器中输入url来避免用户导航到视图
- 如何使用Unity Dependecy Injection Web API实现Strategy / Facade模式
- 检查集合是否为空
- 将多个数据库与单个DbContext和Entites一起使用,并在运行时生成Conn String