OData协议、多么牛B的技术、
传统的分页写习惯了,最近项目中,用到了 Asp.net WebAPI 2.0来做数据交互接口、至于为什么要使用WebAPI,我想只要是对OData协议有了解的朋友。只要说到WebAPI都会想到这个,如果你想对它有更多的深入了解。可以移步博客园(张善友大师)的介绍。 URL(http://www.cnblogs.com/shanyou/archive/2010/03/26/1697316.html)
微软 5.5.2.0 的 System.Web.OData.dll、不支持$inlinecount的查询、目前我也尚未找到关于Asp.net WebAPI支持OData协议的分页解决方案(如果有朋友知道,方便的话,请与我分享、十分感谢!)
为此,要做分页查询,我们必须自己来写一个分页查询的程序(Filter)、要支持OData协议,必须要用好微软提供的OData 支持类库、因为只有支持$filter,$orderby的这些操作。我们自己写的分页才会有意义,如果不支持OData协议的这些查询操作。查询帅选等等。那就与传统的数据交互接口一样,就失去了WebAPI支持OData协议的真正意义啦。反正,我用过OData协议一些接口,我是觉得非常的方便,扩展性也很好。应该说WebAPI会是以后的一个很不错的服务接口解决方案、
分页都需要什么?
分页包含几要素:记录总条数,每页数量,总页数,当前页,数据列表。这差不多就是一个分页结果需要包括的5要素吧。其实对于分页来讲,服务端需要返回的数据。就只有两个。
第一:总记录条数。总记录条数,必须要服务器端返回,然后客户端可以通过自己的分页定义,来计算出总分页数,客户端保存自己的当前页码等等。
第二:数据列表。这个必须要服务端返回吧(不述了)。
好,那下面,我们就先做第一件事儿,定义分页对象返回结果对象。是的,正如你想象的一样,非常简单,就两个属性而已。
/// <summary> /// 定义一个分页数据返回对象 /// ------------------------------- /// Add by hotboy 2015-5-13 11:21:49 /// </summary> public class ODataPagedResult { internal ODataPagedResult(object data, int total) { this._data = data; this._total = total; } private object _data; /// <summary> /// Get the Data object /// </summary> public object Data { get { return this._data; } private set { this._data = value; } } private int _total; /// <summary> /// Get the total count /// </summary> public int Total { get { return this._total; } private set { this._total = value; } } }
从下一篇开始,我们将一起探讨OData协议的 Asp.net WebAPI具体的分页实现代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。