Bre*_*bst 2 jquery json odata asp.net-mvc-4 asp.net-web-api
最近更新到MVC4的RC.它解决了很多问题,特别是在日期序列化方面.但是,我有另一个问题.我用于分页/排序等的OData排序和选项现在不起作用.我没有更改代码中的任何内容,我在发行说明中找不到任何提及功能已更改的内容.我的代码在下面,任何想法我做错了什么?
注意:我正在使用AttributeRouting扩展,不确定这是否导致问题.
Web API类/方法
[RouteArea("v1")]
[RoutePrefix("locations")]
public class LocationsController : ApiController
{
// Data Repository
static readonly IRepository<Location> Repo = new LocationRepository();
#region CRUD
[GET("")]
public IQueryable<Location> Get()
{
return Repo.All;
}
}
Run Code Online (Sandbox Code Playgroud)
jQuery客户端调用
$.ajax({
url: '/v1/locations?$orderby=Name asc',
success: function (data) {
resultFunction(data);
}
});
Run Code Online (Sandbox Code Playgroud)
JSON响应
[
{
"LocationId":"aca3e1fe-8192-4bb8-b233-1d6fe6b69ba4",
"Name":"Triangle North"
},
{
"LocationId":"0c99a267-2093-401a-9466-70788500630b",
"Name":"Triangle West"
},
{
"LocationId":"168e3755-b61e-41d6-99f3-941d738ab321",
"Name":"Triangle East"
},
{
"LocationId":"82e7a547-a4eb-4233-bdb4-cd8c5b369af8",
"Name":"Triangle South",
}
]
Run Code Online (Sandbox Code Playgroud)
结果在搜索MSFT的过程中决定要求指定显式属性,以便OData内容自动流动:
(...)您必须
[Queryable]在方法(docs)上放置一个属性.Run Code Online (Sandbox Code Playgroud)[Queryable] public IQueryable<Product> GetAllProducts() { return repository.GetAll().AsQueryable(); }
http://forums.asp.net/t/1809900.aspx/1?Web+API+OData+in+RC
卫生署!
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |