只能在url中使用
本文关键字:url | 更新日期: 2023-09-27 18:18:35
我试图实现一个URL
http://www.dgcportal.com/Services
我在我的RegisterRoutes
方法中使用这个:
routes.MapRoute(
name: "Categories",
url: "{categoryName}",
defaults: new { controller = "Home", action = "Index", categoryName = UrlParameter.Optional }
);
我的动作链接是:
@Html.ActionLink(category.Name, "", "", new { categoryName = category.Name }, null)
然而,这给了我一个url .../?categoryName=Services
我怎样才能达到预期的效果?我不能让我的控制器被称为Services,因为那是动态生成的。我可以在我的路由定义中看到明显的缺陷(它将如何路由到其他控制器?)这样的路由不可能在MVC 4?
你的地图路由似乎是正确的,但我认为你应该使用RouteLink而不是ActionLink来生成你的链接:
@Html.RouteLink(category.Name, "Categories", new { categoryName = category.Name })
这个重载工作吗?
http://msdn.microsoft.com/en-us/library/dd504972 (v = vs.108) . aspx
把控制器和动作名称放进去,我想它应该能工作。