0

我正在尝试使用创建到我的WebApi控制器的链接Url.RouterUrl,但我不知道如何向其中添加控制器操作,这就是我的观点:

var url = '@Url.RouteUrl("DefaultApi", new { httproute = "", controller = "ClientApi"})';

我想将FindClients动作添加到Url.RouterUrl,我尝试添加action=FindClients,但它产生了这个 url /api/ClientApi?action=FindClients,我需要我的 url/api/ClientApi/FindClients

4

1 回答 1

0

将以下键添加到App_Start\WebApiConfig.cs

config.Routes.MapHttpRoute(
    name: "Extended",
    routeTemplate: "api/{namespace}/{controller}/{action}/{id}",
    defaults: new { }
);

由于默认路由没有{action}

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{namespace}/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

然后使用

 @Url.RouteUrl("Extended", new { httproute = "", controller = "ClientApi"})
于 2013-08-12T14:08:41.387 回答