在MVC3中调用MVC4 web api控制器

时间:2012-09-12 16:01:04

标签: asp.net asp.net-mvc asp.net-mvc-3 asp.net-web-api

我正在使用MVC 3应用程序并使用了web api控制器。

我想用参数调用方法。

但是当我尝试调用该方法时,我收到内部服务器错误(500) 我的global.asax是:

routes.MapHttpRoute(
  name: "PostMethod2",
  routeTemplate: "api/mycontroller/{a}/{b}",
);

我应该向Global.asax的application_start添加任何代码以路由到参数化方法吗?

2 个答案:

答案 0 :(得分:1)

您的路线配置似乎不合法,正确的路线配置如下所示

routes.MapHttpRoute(
  name: "PostMethod2",
  routeTemplate: "api/{controller}/{action}/{a}",
);

注意,“{controller}”和“{action}”不能是随机的。 MVC使用它分别映射到您的控制器和操作(方法)。 {a}将映射到您的参数“int a”。 MVC按惯例使用映射。

答案 1 :(得分:0)

RouteTable.Routes.MapPageRoute("Profile", "{Link}.{Id}.aspx", "~/Profile.aspx");

示例有用! Link和Id是参数