asp.net MVC中来自controllername的不同url

时间:2013-12-29 16:58:56

标签: c# asp.net-mvc

我有一个名为CarController的控制器位于名为Buy的文件夹中。所以网址变成www.website.com/Buy/Car

如何在不更改控制器和文件夹名称的情况下将网址改为“/ purchase / vehicle”?

谢谢!

2 个答案:

答案 0 :(得分:3)

您需要为其定义新路线

    routes.MapRoute(
        name: "VehicleRoute",
        url: "purchase/vehicle",
        defaults: new { controller = "Car", action = "TheAction" }
    );

请确保您已将其放在默认路线之前。

答案 1 :(得分:2)

您可以使用自定义路线执行此操作。有关路由的信息,请参阅here。然后,您可以使用Controller和操作的默认值创建自定义路由,例如:

routes.MapRoute(
  "MyRoute",
  "purchase/vehicle",
  defaults: new { controller = "Car", action = "Buy" }
);

您必须在其中输入正确的控制器名称和要呼叫的操作。