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

本文关键字:路由 默认 系统 | 更新日期: 2023-09-27 18:37:10

我的 mvc 应用程序中的路由有问题。我的核心应用程序带有产品控制器和扩展,加载在"PreApplicationStartMethod"中。在此扩展中,我像这样注册路由:

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时,我重定向到产品控制器。

添加路线的奥德是具体的,一般的最后一个。我已经检查了路线表,我的路线存在于其中。

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

我认为您在这里使用了两个项目,如果您正在使用,则将该项目作为要先点击的启动项目(通过右键单击)。