3
到目前爲止,我無法完成此項工作,因此我需要一些幫助。我有一個基本的MVC 5網站,並且我添加了一個叫做Administration的區域。對於我的生活,我無法弄清楚如何正確設置一個區域的默認控制器/動作。MVC5自定義路徑以從區域刪除控制器名稱
在我的網站,我有一個名爲管理員的區域,一個名爲Admin(用指數法和視圖)控制器,這是該地區註冊:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: "Admin_base",
url: "Admin",
defaults: new { area = "Admin", controller = "Admin", action = "Index", id = UrlParameter.Optional }
);
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
第一圖路線可以讓我瀏覽到http://myapplication/Admin
並顯示我設置的視圖(管理員/索引),並保持URL爲http://myapplication/Admin
(這正是我想要的)。現在,通過添加它,它會打破任何進一步路由到控制器。所以當我嘗試導航到管理區域中的菜單控制器時,它失敗。
有沒有正確的方法來做到這一點?
即我需要http://myapplication/Admin/Menu/Create
路線正確,也需要保留該區域的默認控制器/行動。
非常感謝!我想我早些時候嘗試過這個,並且失敗了,因爲我在某處重用了一個類名,並認爲它不起作用。你的答案是完美的,並將它設置爲這樣。 – Keith 2014-09-24 16:45:22