2012-05-03 69 views
1

在MVC3應用程序,我在我家控制器中的觀點,即通過以下網址獲得:MVC3 ::使用Global.asax的直接特定的控制器/動作到不同的控制器/動作

http://mysite.com/home/mycontent

然而,我的用戶希望通過給它accees:

http://mysite.com/mycontent(沒有具體提及給家庭控制器)

我試圖修改我的Global.asax有以下幾點:

routes.MapRoute(
     "MyContent", // Route name 
     "MyContent", // URL with parameters 
     new { controller = "Home", action = "MyContent"} // Parameter defaults 
    ); 

但是,當我嘗試使用它時,出現404錯誤。有什麼方法可以完成我的用戶想要做的 - 將URL重定向到特定的控制器/視圖對?

回答

2

我認爲你應該保留一些「參數」:

routes.MapRoute(
     "MyContent", // Route name 
     "{action}/{id}", // URL with parameters 
     new { controller = "Home", action = "MyContent", id = ""} // Parameter defaults 
    ); 
+0

對不起...但仍然是同樣的問題。 –

+0

您是否定義了其他路線(可能是默認路線)? – fmgp

+0

只是默認的一個。 –

1

按照什麼順序你的路由註冊?該路線應在您的默認路線之前。

E.g.

routes.MapRoute(
    "MyContent", // Route name 
    "MyContent", // URL with parameters 
    new { controller = "Home", action = "MyContent"} // Parameter defaults 
); 

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new { controller = "Pages", action = "Index", id = UrlParameter.Optional } 
); 

否則,它應該工作......我有定義完全相同的路線。

相關問題