我看過一些類似的帖子,但沒有一個是完全相同的,因爲在我的問題中,我想從網址,但控制器去除HOME控制器仍然是默認的(所以當我的網站從site.com/加載我的家庭控制器中的索引被激發)!如何刪除/家庭/但保持它作爲默認多控制器
我MVC4網站有多個控制器,如
首頁
產品
詳細
AndAnother
YetAnother
家庭控制器是我的默認控制器,並且是我的主頁生活,關於頁面,聯繫我們等
我想從URL中刪除HOME,但這仍然是我的默認c ontroller。所有其他控制器應保留與控制器名稱。
下不能正常工作,請注意默認的控制器「WhatControllerGoesHere」
routes.MapRoute(
name: "HomeController",
url: "{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "WhatControllerGoesHere", action = "Index", id = UrlParameter.Optional }
);
如果我讓這兩個默認控制器回家,我無法導航到任何其他控制器
routes.MapRoute(
name: "HomeController",
url: "{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
所以,我試圖達到的URL將是(我在哪裏關於和聯繫我們的視圖)
site.com/ //note, no Home/
site.com/about //note, no Home/
site.com/contact //note, no Home/
site.com/products/
site.com/products/other
site.com/details/
site.com/details/other
site.com/details/AndAnother
我知道我可以爲每個控制器創建新的路由器,但我寧願儘量避免這種情況。
你想真正'site.com/index'而而不是'site.com /'爲'HomeController'的'Index()'方法? –
@StephenMuecke,不,更多關於顯示除HOME控制器以外的所有控制器的信息。我的帖子已更新 – MyDaftQuestions