2011-09-22 111 views
1

我已經嘗試routes.mapRoute,但我不能在MVC 3中找到一種方式來使用它使根路徑路由到一個動作。例如mywebsite.com/party應該重定向到mywebsite.com/events/party,其中事件是控制器,並且聚會是行動。不能路由MVC控制器

這甚至可能嗎?

+0

你可以發佈你的路線的完整列表匹配的網址的任何路線? –

+0

是的,這是可能的。你目前有什麼,你有什麼嘗試(告訴我們的代碼)? –

回答

2

沒有看到您現有的路線,它很難給你一個確切的解決方案。

一個規則要記住:

MVC能夠解決您的路由集合相匹配的請求的URL

不一定是最精確的匹配在第一

確保您沒有其他規則可以滿足您之前放置在代碼中的路線,例如路由算法可能會找到「派對」控制器和「索引」操作,因爲您有一個默認規則,例如:

routes.MapRoute(
    "Default", 
    "{action}", 
    new { controller = "Home", action = "Index" } 
); 

放置在您的規則之前。

你需要把像

routes.MapRoute(
    "PartyRoute", 
    "party", 
    new { controller = "Events", action = "Party" } 
); 

BEFORE,可能只是一個單一的參數

+0

謝謝!我有正確的語法只是把它放在默認的之後,當它應該在它之前!現在理解路由也更好一點。 – Davie

+0

沒問題。我相信它抓到了很多人,包括我。 Steve Sanderson在他關於MVC的書籍中編寫了一個很好的章節 - 對我有幫助http://blog.stevensanderson.com/2010/06/11/pro-aspnet-mvc-2-framework/ –

0
routes.MapRoute(
    "Default", 
    "{action}", 
    new { controller = "Events", action = "Index" } 
);