我在 ASP.NET 应用程序中创建了一个路由来处理特定的 URL 模式,但我想让 URL 更清晰并隐藏控制器名称。我定义了一条当前映射 URL 的路由,如下所示:
sample.com/controller/thread/id/slug
使用“Thread”操作映射到“PersonController”。
我怎样才能拥有像
sample.com/thread/id/slug
这样的网址?
routes.MapRoute(
name: "Thread",
url: "{controller}/Thread/{id}/{slug}",
defaults: new { controller = "Person", action = "Thread", slug = UrlParameter.Optional },
constraints: new { id = @"\d+" }
);
@pooria你可以尝试这个代码。
请参阅此链接以获取更多信息:http://johnatten.com/2013/08/21/customizing-routes-in-asp-net-mvc/
并且您需要创建自定义路线
routes.MapRoute(
name: "CustomeThread",
url: "Thread/{id}/{slug}",
defaults: new { controller = "Person", action = "Thread", slug = UrlParameter.Optional },
constraints: new { id = @"\d+" }
);