asp.net-mvc – 找不到与Web API中的请求URI匹配的HTTP资源
我已经配置我的WebApiConfig像这样:
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi",routeTemplate: "api/{controller}/{action}/{id}",defaults: new { id = RouteParameter.Optional } ); } 我有一个方法接受一个参数。访问URI是http:// localhost:8598 / api / WebApi / GetLocationCategory / 87。 这给我一个错误:没有找到匹配请求URI’http:// localhost:8598 / api / WebApi / GetLocationCategory / 87’的HTTP资源。 控制器: public IEnumerable<LocationCategory_CLS> GetLocationCategory(int CatID) { var LocCats = (from lct in entities.tdp_LocationCategories join lc in entities.tdp_LocationMaster on lct.FK_LocationID equals lc.LocationID where lct.IsApproved == 0 && lct.FK_CategoryID == CatID select new { lc.LocationID,lc.LocationName }).ToList(); List<LocationCategory_CLS> loc = new List<LocationCategory_CLS>(); foreach (var element in LocCats) { loc.Add(new LocationCategory_CLS { LocationID = element.LocationID,LocationName = element.LocationName }); } return loc; } 解决方法
尝试将Controller方法更改为
public IEnumerable<LocationCategory_CLS> GetLocationCategory(int id) <-- Change { var LocCats = (from lct in entities.tdp_LocationCategories join lc in entities.tdp_LocationMaster on lct.FK_LocationID equals lc.LocationID where lct.IsApproved == 0 && lct.FK_CategoryID == id select new { lc.LocationID,LocationName = element.LocationName }); } return loc; } 更改只是,将输入参数从CatId更改为id ….它适用于我很多次.. 编辑: 它很长时间,当我回头我认为我知道原因现在。字像Jared是正确的,这是与我们指定的路由。如果我有一个路由(默认)为: routes.MapRoute( "Default",// Route name "{controller}/{action}/{id}",// URL with parameters new { controller = "Home",action = "Index",id = "" } // Parameter defaults ); 我的URL是/ MyController / GetLocationCategory / 123,它将等同于/ MyController / GetLocationCategory?id = 123。 类似地,如果我想更改我的参数名称为Id说为CatId,那么我需要更改查询字符串参数(我调用我的Controller Action会改变的方式)。现在是: / MyController / GetLocationCategory?CatId = 123 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在提供页面之前确定ASP.NET页面视图状态的大小
- asp.net-mvc – 使用viewbag传递模型进行查看
- asp.net-mvc – ASP.NET MVC身份默认实现
- asp.net-mvc – 将域映射到MVC区域
- asp.net – 是否可以在ApplicationServices DB中加密电子邮
- asp.net-mvc-4 – @ *在CSHTML文件中的含义是什么
- .net – ServiceHost和WebServiceHost有什么区别?
- asp.net-mvc – 如何在注册新帐户时要求asp.net表单身份验证
- asp.net-mvc – 更改链接上的部分视图
- asp.net-mvc – MVC routes.MapRoute name属性