只能在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?

只能在url中使用

你的地图路由似乎是正确的,但我认为你应该使用RouteLink而不是ActionLink来生成你的链接:

@Html.RouteLink(category.Name, "Categories", new  { categoryName = category.Name })

这个重载工作吗?

http://msdn.microsoft.com/en-us/library/dd504972 (v = vs.108) . aspx

把控制器和动作名称放进去,我想它应该能工作。

相关文章:
  • 没有找到相关文章