ActionResult方法的更长路线

时间:2013-10-07 21:24:32

标签: asp.net-mvc asp.net-mvc-4 controller routes action

MVC 4中是否可以为方法提供比/ {controller} / {method}更长的路径?

也就是说,我怎么能有一个方法“test”,并且它的路径是/ {controller} / api / test?

2 个答案:

答案 0 :(得分: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
 );
}

现在,如果您输入:

  

YourController / API /测试

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

它会打电话:

  

controller = YourController

     

动作=测试

您可以在此tutorial找到有关路线的更多信息。

答案 1 :(得分:1)

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

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

另外,您使用的是WebAPI吗?