ASP.NET MVC 5路由不同的作用位置



我正在为自己制作一个应用,我在路由方面有问题。

ASP.NET MVC RouteConfig.cs默认值如下:

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

我想要一个重定向链接,例如书/1/编辑或书籍/1/历史记录。

如果我编辑下面的代码行,则可以正常工作

routes.MapRoute(
    name: "Default2",
    url: "{controller}/{id}/{action}",
    defaults: new { controller = "Home", action = "Index" },
    constraint : new { id = @"d+" }
);

,但此时,如果我使用链接" book/add",则网站将我重定向到书籍列表操作,这意味着我添加后添加的代码不起作用。

我现在该怎么办?

删除默认路由到禁用默认约定

使您的默认值为默认路由

routes.MapRoute(
    name: "Default",
    url: "{controller}/{id}/{action}",
    defaults: new { controller = "Home", action = "Index" },
    constraint : new { id = @"d+" }
);

最新更新