如何在 ASP.NET MVC 4 中的自定义路由中隐藏控制器?

问题描述 投票:0回答:1

我在 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+" }
);
c# asp.net-mvc-4
1个回答
0
投票

@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+" }
    );
© www.soinside.com 2019 - 2024. All rights reserved.