快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记娱h88:Asp.Net可定制分页用户控件



本日钻研了以下Asp.Net 可定制分页,用起来很爽,下面给大年夜家先容下。

借助 Asp.Net 供给的数据绑定控件,我们无需太多的代码,以致不必要代码,只要在 VS2005 中拖拽几下控件,进行一些属性的设置,便可以实现在Asp期间必要做大年夜量事情才能够实现的分页功能。但在实际的利用中,尤其是在Web站点法度榜样中,我们常常必要加倍富厚的用户界面,而类似DataList或者 GridView 这样的数据控件每每不能或者很难满意我们的要求。此时,我们经常告急于 Repeater 控件,这样我们依旧会面临分页及其显示的问题。

本文不是讲述若何进行数据库分页,而将留意力集中在若何实现可定制地 获取页码、获取路径、显示分页链接,并且经由过程构建一个用户控件来实今世码重用上。假如你是一个初学者,你可以借鉴一下我的实现要领;假如你已经是一位高手,不妨提和记娱h88出设计的不够和改进意见。

本文因此接口的实现要领作为讲述和记娱h88,这是由于我写这篇文章的时刻应用的是接口,但我后来又供给了一种更好的应用承袭的要领来实现,我供给了两个版本的代码下载,你可以互相比较着参考。

控件组成

为了能迅速提起大年夜家的兴趣,可以先点击这个链接,看看实际的效果:

ht和记娱h88tp://www.tracefact.net/Demo/Pager/Default.aspx

IUrlManager 接口

想一想假如你在设计一个可重用的分页用户控件,你面临的问题是什么?每小我获取页码的要领都不合,例如,你的站点URL可能是类似这样的 Default.aspx?page=1 ,而别的一个站点的URL 是这样的 Default.aspx?p=1。更有一些可能根本不应用 QueryString 来获取页码,它们的URL可能是这样的 Default-1.aspx、Default-2.aspx 等等。获取页码的要领不合,根据页码孕育发生和记娱h88链接地址的措施自然也不相同。按照封装变更的思惟,我们应该将这变更的部分掏出来,建一个 IUrlManager 接口:

public interface IUrlManager

{

int CurrentPageIndex{ get; }    // 当前页码

string GetPageUrl(int pageIndex);    // 根据 页码 获取页面路径

}

而实际上,当前页码不应该大年夜于总页数,以是获取当前页CurrentPageIndex属性必要能得知 总页数,而总页数平日是由 记录数 和 分页大年夜小谋略得出,这个接口实际上应该是这样:

public interface IUrlManager

{

int CurrentPageIndex{ get; }      // 当前页码

string GetPageUrl(int pageIndex);      // 根据 页码 获取页面路径

int PageCount { get; }           // 总页数

int RecordC和记娱h88ount { get; }        // 记录总数

int PageSize { get; }          // 分页大年夜小

}

您可能还会对下面的文章感兴趣: