路由系统使用默认路由而不是特定路由

时间:2016-03-02 11:39:42

标签: c# asp.net .net asp.net-mvc

我在mvc应用中遇到路由问题。我的核心应用程序包含在“PreApplicationStartMethod”中加载的ProductsController和扩展。在这个扩展中,我注册了这样的路线:

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" }
);

现在,当我在Web浏览器中输入/ Products / Details / 1时重定向到ProductsController。

添加路线的Oderd首先是具体的,一般是最后的。我查了路线表,我的路线就在其中。

1 个答案:

答案 0 :(得分:0)

我认为您在这里使用了两个项目,如果您正在使用,那么请将项目作为启动项目(通过右键单击)将其首先命中。