我有一個系統爲一個頁面生成一個「地址」,用作路由中的一個段。它可以包含一個層次路徑:ASP.NET MVC路由:如何覆蓋路由匹配
解決方案/軟件/列表
我要地圖的是這樣的路線:
routes.MapRoute(
"Default",
"{address}/{action}",
new { controller = "Home",
action = UrlParameter.Optional
} //defaults
);
地址可以包含像「解決方案/軟件」的階層路徑。列表是這種情況下的操作名稱。從地址段中,我們可以找到正確的控制器和操作。其他例子是「解決方案/軟件/我的CRM系統」。
從我能理解的情況來看,如果{address}包含「/」,MVC將不匹配任何路由。是否有可能重寫路線匹配,所以我可以得到這個工作?
我知道我可以用一個貪婪的包羅萬象的實現大部分的我想要什麼,但我想獲得一個版本,而包羅萬象的工作:http://erraticdev.blogspot.no/2011/01/custom-aspnet-mvc-route-class-with.html
那你哪個錯誤?如果你想包含地址:它應該像這個''地址/ {動作}「',除此之外你可以擁有其他路線? –
找不到匹配的路由,因爲只有{address}的內容的第一部分連接到{address},如果{address}包含/。 –
你可以展示整個班級嗎?因爲它取決於你放在'RouteTable'上的順序。 –