C#列表页和详细页的最优写法

最近在做一个带有查询分页功能的列表页和详情页,主要用的是repeater绑定数据 用的Viewstate存储分页信息(当前页码,总页码,)和查询条件;详细页可以修改信息。目前已经实现了,但是感觉性能好差,要实现这种功能,最优的写法是哪一种?

关键是你的分页算法有没有问题,你可以用存储过程实现分页