ソリューションを整理したかったのですが、領域を調べましたが、次のようです。「 ControllerName 」のリクエストで次の一致するコントローラーが見つかりました...エラーが有名になりつつあります。
エリアを追加するAdmin
と、プロジェクトのフォルダー構造は次のようになります。
- エリア
- 管理者
- コントローラー
- HomeController
- AdminAreaRegistration.cs
- 管理者
- コントローラー
- HomeController
AdminAreaRegistrationファイルには、次のものがあります。
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
そして、私は自分のルートを登録するときにこれを行っています:
routes.MapRoute(
"Home",
"Home/Index",
new { controller = "Home", action = "Index" }
);
私は私の方法でこれを行うためにここApplication_Start
を読んだ:
ControllerBuilder.Current.DefaultNamespaces.Add("X.Web.Controllers");
残念ながら、エラーは修正されませんでした。次に、ここを読んで、RegisterRoutesメソッドにデフォルト(ルート)コントローラーの名前空間を追加します。
エリアはルーティングがすべてであり、フォルダは単に必要なだけですが、それらは便利です。
HomeController
この場合、ルートを特定のルートにマッピングするにはどうすればよいですか。X.Web.Controllers
一方はに、もう一方はにありX.Web.Areas.Admin.Controllers
ます。さらに、これまで読んだすべての例でリンクがメソッドを使用して生成されているため、リンクを@Html.RouteLink
の代わりにヘルパーを使用して生成できるかどうかを知りたいと思います...これは疑問です。ActionLink
ActionLink
提供されたヘルプ/ガイダンスに感謝します。ありがとう。