ルーティングについては、まだ理解できていないようです。
コントローラーが3つある
- 管理者コントローラ
- ダッシュボードコントローラー
- プロジェクトグループコントローラ
ダッシュボードの場合、URL を にします/Dashboard/。ただし、管理セクションには、2 つの異なるコントローラーが必要です。/Admin/Overviewを使用する必要がありAdminController、使用/Admin/ProjectGroups/する必要がありますProjectGroupsController。
これは私のルーティングがどのように見えるかです
routes.MapRoute(
name: "AdminOverivew",
url: "Admin/Overview",
defaults: new { controller = "Admin", action = "Overview" },
namespaces: new[] { "Com.Controllers" }
);
routes.MapRoute(
name: "AdminSubs",
url: "Admin/{controller}/{action}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Com.Controllers" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional },
namespaces: new[] {"Com.Controllers"}
);
*注、2 番目のルートの理由は、管理セクションの下にさらに多くのコントローラーがあるためです。
動作しています..ただし、HTML.ActionLink が生成する URL が間違っています。あるべきときに@Html.ActionLink("Dashboard", "Index", "Dashboard"........)生成されます。/Admin/Dashboard/Dashboard
ただし、@Html.ActionLink("Project Groups", "Index", "ProjecGroups".....)正しい URL を生成します/Admin/ProjectGroups
2 番目の routes.MapRoute (AdminSubs) を取り出すと、状況は逆になります。ダッシュボードは適切な URL を取得し、/Dashboardプロジェクト グループ/ProjectGroupsは残す必要がある場合になります/Admin/ProjectGroups
何を与える?