私のプロジェクトには2つの領域があります:
Areas | Admin
Areas | FrontEnd
私が望むのは、サイトにアクセスしたときに、デフォルトのルートがコントローラー/ビュー/モデルをそのFrontEnd
エリアからロードすることです。管理パネルには通常Url/Admin
ありますが、強制する必要はありませんUrl/FrontEnd
(または他のバリエーション)。基本的に、ルート レベルで Controller / Model / View フォルダーを使用したくありません。
これを許可するようにコードを変更する方法がわかりません。または、それが推奨される方法でさえありません。誰かがガイダンスを提供してもらえますか?
私が持っているもの:
routes.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new {
area = "Admin",
controller = "Home",
action = "Index",
id = UrlParameter.Optional
},
namespaces: new[] { "WebsiteEngine.Areas.Admin.Controllers" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
area = "FrontEnd",
controller = "Home",
action = "Index",
id = UrlParameter.Optional
},
namespaces: new[] { "WebsiteEngine.Areas.FrontEnd.Controllers" }
);
ただし、これによりエラーが発生します。
The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
私はその地域で利用可能なビューを持っていますが、これはそこにあるようには見えません。