2010-09-02 60 views
3

有沒有辦法讓給定控制器中的所有操作都重定向到服務器根目錄?ASP.NET MVC路由:如何將所有操作重定向到Base Url?

例如,如果我有一個控制器首頁和行動方面的URL我想要的URL成爲/條款

如果我有一個控制器首頁和行動隱私另一個URL,那麼URL應該成爲/隱私。

我能夠通過硬編碼2個路由來做到這一點,但有沒有辦法自動做到這一點?

routes.MapRoute(
    "Term", 
    "terms", 
    new { controller = "Home", action = "terms" } 
); 

routes.MapRoute(
    "Privacy", 
    "privacy", 
    new { controller = "Home", action = "privacy" } 
); 

回答

5
routes.MapRoute(
    "ActionOnly", 
    "{action}", 
    new { controller = "Home" } 
); 
+0

真棒..它的工作!謝謝! – Abe 2010-09-02 22:40:45

0

硬編碼兩條路線是自動方式。

+0

我在硬編碼中看不到任何東西:-) – 2010-09-02 21:56:17

+1

確實如此,但它比編寫http處理程序或模塊更容易。 – Hogan 2010-09-02 22:00:24

+1

誰說你必須編寫一個http處理程序或模塊? – 2010-09-02 22:00:52