One of my favorite quotes is "there is nothing as embarrassing as yesterday's code." I blogged about a paged list class a while back, but I no longer like that implementation...so here is a new one that includes WebAPI serialization support!
...but why is this useful?
You can use the simple IPagedList interface to pass paged data around all of your application, and then any object returned from your WebAPI that implements IPagedList will be automatically serialized for you. This allows you to create very consistent APIs that support paging.

IPagedList Interfaces
public interface IPagedList
{
int PageIndex { get; }
int PageSize { get; }
int TotalCount { get; }
IList List { get; }
}
public interface IPagedList<T> : IPagedList
{
new IList<T> List { get; }
}