我在下面定义了我的路线
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "ProductAPI",
url: "{productId}/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
constraints: new { productId= @"\d{15}" }
);
链接是用
创建的@Html.ActionLink("PRD List", "GetPrdList", "PrdList", new { productId = @ViewBag.productId}, null)
以上链接导致无法找到资源。我是路由概念的新手,请帮我解决上面代码中的错误。
我希望我的网址看起来像../ProductID/{controller}/{action}/{id},如果未在网址中指定productID,则应该选择默认网址../{controller} / {action} / {id}
答案 0 :(得分:0)
也可以在WebApiConfig中尝试此代码:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "Other",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);