2014-01-17 65 views
0

我正在嘗試配置我的路由,以便我可以讓一個博客條目(帶有一個字符串ID)成爲url中唯一的段。.Net MVC只有ID的路由

例如,

/ABlogTitle - >控制器= 「博客」,行動= 「項」,ID = 「ABlogTitle」

我的假設是,如果一個路由失敗,由於動作不存在,它會重試使用下一條路線,但似乎沒有工作。

這裏是我的路線......

routes.MapRoute(
    name: "Entries", 
    url: "{id}", 
    defaults: new {controller = "Blog", action = "Entry"} 
); 

routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Blog", action = "Index", id = UrlParameter.Optional } 
); 
+0

請告訴我的錯誤,你得到什麼? –

+0

導航到「/ ABlogTitle」時,我得到一個404 – unforgiven1987

回答

1

不,你的假設是不正確。當請求匹配路由時,MVC不會經過集合中的其餘路由。

在這種情況下,請求/ABlogTitle與集合中的第1條路由相匹配,並且不再執行路由探測,並且發生管道的其餘部分(控制器選擇,動作選擇等)。