ObjectDataSource与GridView结合,实现最快速的分页
.aspx页码代码
关键在于GirdView会自动调用ObjectDataSource的SelectMethod,并将PageSize赋给ObjectDataSource的MaximumRowsParameterName参数,这里我将它设置为pageSize,此外GirdView还有一个参数对应着ObjectDataSource的startRowIndex,这里我使用默认名startRowIndex。
下面是DAL层中的两个分页需要用到的方法:
GetContents和GetContentCount
方法很简单,只是调用了一个类的方法。这里主要讨论的是这两个方法的参数,需要一个categoryID,在GetContents中的另外两个参数分别对应于ObjectDataSource中设定的MaximumRowsParameterName和startRowIndex,而这两个参数是由GirdView来赋值的,ObjectDataSource只是在DAL和GirdView中起到了桥梁的作用,分离了表示层与业务逻辑的藕合。ObjectDataSource是通过SelectCountMethod="GetContentCount" 方法来获取根据categoryID的数据总条数。
categoryID参数通过DropDownList .SelectedValue 确定的。
这种方案快速而又高效,GirdView每次只是获取PageSize条记录,比起完全自定义的分页,的确剩掉了许多代码。
效果图如下: