你能用ActionLink制作友好的URL吗?

时间:2013-06-07 07:44:11

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing friendly-url

我使用ActionLinks来创建页面链接 - 例如:

@Html.ActionLink(p.Name, "Details", new { URL = p.URL })

这会生成如下网址:

http://localhost/app/Home/Details?URL=the-cafe-name

我想要一个这样的网址:

http://localhost/app/the-cafe-name

网址是存储在每个地方的值。

在这里使用ActionLink是最佳做法吗?如果是这样,我怎么能让它产生友好的URL(除了包含ID的那个,这似乎是自动做的?)。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以添加像这样的MapRoute作为最后一条路线

        routes.MapRoute(
            name: "UrlFriendly",
            url: "{*url}",
            defaults: new { controller = "UrlFriendly", action = "Index" }
        );

如果你有一个复杂的网站,你需要处理所有的情况,这可能是一项大量的工作!