0
我的mvc應用中有路由問題。我有我的核心應用程序與ProductsController和擴展在「PreApplicationStartMethod」中加載。在這種extenstion我註冊的路線是這樣的:路由系統使用默認路由而不是特定的路由
routes.MapRoute(
name: "ProductDetails",
url: "Products/Details/{id}",
defaults: new { controller = "StandardProductsDetails", action = "Details" },
namespaces: new []{ "Shop.Controllers" }
);
而且在我的核心應用程序我不是註冊爲ProductsController的具體路線,但我有一個大致的路線:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Shop.Controllers" }
);
現在,當我進入/產品/詳情/ 1在Web瀏覽器im重定向到ProductsController。
添加路線的Oderd是特定的第一個,一般的最後一個。我檢查了路線表,並且我的路線存在於其中。
如果您在默認路由之前複製路由而不是在'PreApplicationStartMethod'中註冊,會發生什麼?我懷疑這個事件發生的過早(每[本帖]](http://haacked.com/archive/2010/05/16/three-hidden-extensibility-gems-in-asp-net-4。 aspx /)發生在編譯「App_Code」代碼之前),因爲它對註冊路由很有用。 – NightOwl888