0

路线:

            routes.MapRoute(
            "Items", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new {controller = "Item", action = "Index", id = UrlParameter.Optional} // Parameter defaults
            );

htmlhelper:

@Html.ActionLink("Chairs", "List", "Item", new {id="Chairs"}, null)

它生成的链接:

http://localhost:57899/Item/List?id=Chairs

我希望它显示的内容:

 http://localhost:57899/Item/List/Chairs

怎么做?

4

2 回答 2

0

您调用 Html.RouteLink(不是 Action Link)并在您的泛型下映射一条附加路由,如下所示:

routes.MapRoute(
        "ChairsRoute", // Route name
        "Item/List/{id}", // URL with parameters
        new {controller = "Item", action = "Index", id = UrlParameter.Optional} // Parameter defaults
        );

当您调用 RouteLink 时,您只需传递“ChairsRoute”名称

于 2011-08-24T13:59:26.960 回答
0

如果您尝试以下操作,而不是使用 ActionLink,会发生什么?

@Html.RouteLink("Items", new { id = "Chairs" })
于 2011-08-24T13:58:57.523 回答