我有这两条路线:
routes.MapRoute(
name: "First",
url: "{controller}/{id}/{action}",
defaults: null,
constraints: new { id = @"^\d+$" }
);
routes.MapRoute(
name: "Second",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
路由处理正常,但网址生成在所有情况下都无法正常工作。
我试图使用@ Url.Action("索引"):
我可以在这里看到一个模式,但我不知道它为什么会生成这样的网址,我希望只有当我明确传入" id"参数。
我可以使用以下方法解决我的问题,但我对传递路线名称并不感到兴奋:
@Url.RouteUrl("Second", new { action = "Index" })
我还能做些什么让帮助者按预期工作?