1

Is it possible in MVC 4 to give a method a longer route than just /{controller}/{method}?

That is, how could I have a method "test", and have it's path be /{controller}/api/test?

4

2 回答 2

2

您可以通过在项目的 Global.asax.cs 文件中修改“RegisterRoutes()”来注册其他路由。

例如:

public static void RegisterRoutes(RouteCollection routes)
{
 routes.MapRoute(
  "YourNewRoute",                                        // Route name
  "{controller}/api/{action}",                           // URL with parameters
  new { controller = "YourController", action = "Test" } // Parameter defaults
 );
}

现在,如果您输入:

你的控制器/api/测试

(注意路径中存在“api”)

它会调用:

控制器 = 你的控制器

行动 = 测试

您可以在本教程中找到有关路线的更多信息。

于 2013-10-07T22:12:16.407 回答
1

是的。只需在一般路由之前定义 api/test 路由,/{controller}/{method}以便 api/test 路由在一般路由之前启动。

注意:定义 /api/test 时,您需要指定默认操作方法。

另外,你在使用 WebAPI 吗?

于 2013-10-07T21:33:25.317 回答