分页控件使用方法
PagedList<Order> orders = db.Orders.OrderBy(o=>o.OrderID).ToPagedList(id, 20);
我返回的数据集是List<T>对象,这里的ToPagedList好像只能用于Linq查询啊,谁知道该怎么写?
MvcPager的PagedList本来就是继承自List<T>
List<T>orders = db.Orders.OrderBy(o=>o.OrderID).tolist().ToPagedList(id, 20);
其实它的分页效率太低了.要所有的然后再去取其中指定页.
当然只能用于Linq查询了,就是因为用于Linq查询,返回的是Iqueryable类型的查询语句,所以翻译成Sql语句后就只取你要取的页数的数据,查询很快的。然后返回到View里面,就不能用List<T>了,要用PagedList<T>了!!
自己找到方法了,可以使用构造函数PagedList(IEnumerable<T> items, int pageIndex, int pageSize, int totalItemCount)
比如:
PagedList<t> item = new PagedList(items, pageIndex, pageSize, totalItemCount)
131321321321321
1 1321321311231 2 1432 3 24