Asp.net web api 使用webapi进行路由

Asp.net web api 使用webapi进行路由,asp.net-web-api,asp.net-web-api2,asp.net-web-api-routing,Asp.net Web Api,Asp.net Web Api2,Asp.net Web Api Routing,这是我的控制器代码: public class MenuController : ApiController { [Route("api/menu/setorder"),HttpPost()] public HttpResponseMessage SetOrder(string orders) { //do stuff } return new HttpResponseMe

这是我的控制器代码:

public class MenuController : ApiController
    {      
        [Route("api/menu/setorder"),HttpPost()]
        public HttpResponseMessage SetOrder(string orders)
        {
            //do stuff
        }
        return new HttpResponseMessage(HttpStatusCode.Accepted);
     }
这是WebApiConfig中的路由部分:

当我尝试使用此代码调用操作时,我得到404 Not Found错误:

  var uri = 'api/menu/setorder';

        $(document).ready(function () {
            $.post(uri, { orders: "13_12-31:3" })
                .done(function (data) {                    
                    $.each(data, function (key, item) {
                        console.log(item["id"]);
                    });
                });
        });
我应该如何修复它?

检查此链接:

查看“按操作名称路由”部分

  var uri = 'api/menu/setorder';

        $(document).ready(function () {
            $.post(uri, { orders: "13_12-31:3" })
                .done(function (data) {                    
                    $.each(data, function (key, item) {
                        console.log(item["id"]);
                    });
                });
        });