我正在为自己制作一个应用,我在路由方面有问题。
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+" }
);