私のフォルダは次のようになります。
- (ルート)/エリア/管理者/ビュー/..
- (ルート)/エリア/管理者/コントローラー/...
(ルート)/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/ のホームが開始ページとして表示されない
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
AreaRegistration.RegisterAllAreas(); の後の Global.asax で