Based on How to create ASP.NET Web API Url?
Neither of these plus a few more combinations of them I've tried are working
<li><a href="@Url.RouteUrl("DefaultApi",new {area=string.Empty,httproute = string.Empty, controller = "corpuserrequest", action="Get"})">CorpUser</a></li> <li><a href="@Url.Action("Get","CorpUserRequest",new {area=string.Empty,httproute ="", controller = "CorpUserRequest", action="Get"})">CorpUser</a></li> Here's my api config route table:
//https://stackoverflow.com/questions/11407267/multiple-httppost-method-in-mvc4-web-api-controller config.Routes.MapHttpRoute( name: "ApiReq", routeTemplate: "webapi/{controller}/{action}", defaults: null, constraints: new { action = "Req" } ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }, constraints: new { id = @"^\d*$",// Only integers action = "^(?![rR]eq)$" //anything except req or Req } ); Why isn't the routing working? The RouteUrl returns empty string or null, the Action returns
<a href="http://localhost:11601/CorpUserRequest/Get"> instead of what the actual url should be http://localhost:11601/api/CorpUserRequest