分页控件AspNetPager的用法
2010-10-07 13:59
357 查看
分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大、任务繁琐而且代码重用率极低,因此分页已成为许多ASP.NET程序员最头疼的问题之一。
今天闲来无事就学习学习了aspNetPager分页控件的用法:
AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现分页导航功能的地方,如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、Access、mysql、DB2等数据库以及XML文件、内存数据或缓存中的数据、文件系统等等。
1.首先下载aspnetpager控件,我这儿的版本是6.0.0.0 点击下载
2.把控件加到项目中(添加自定义控件的方法),并把它拖放到页面上:
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
AlwaysShow="True" //总是显示分页控件,即使要分页的数据只有一页
OnPageChanged="AspNetPager1_PageChanged" //分页发生改变时触发事件
UrlPaging="true" //通过URL传递分页信息的方式来分页。如果设为true,禁用ViewState也能达到效果。如果设置为false,禁用了viewstate则无法实现分页.
NumericButtonTextFormatString="[{0}]" //页索引数字显示的格式
ShowCustomInfoSection="Left"> //显示当前页和总页数信息,默认值不显示,为left则将显示在页索引前,为right则为页索引后 </webdiyer:AspNetPager>
3.Page_Load事件:
protected void Page_Load(object sender, EventArgs e)
public void BindGridView()
public DataSet GetPage(string sql, int currentPage, int pagesize,out int recordcount)
public int GetPageRecord(string sql)
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
AspNetPager1.CustomInfoHTML += " 总页数:<b>" + AspNetPager1.PageCount.ToString() + "</b>";
这里就有一个问题是aspNetPage1.PageCount怎样得出来的呢?我们并没有为它赋值。(这里而且这个属性是只读的)
实际上它的值是本身的控件就实现了:我分析觉得代码可能如下:
public int GetPagerCount(string sql, int pagesize)
{
int recordcount = GetPageRecord(sql);//方法见上
int pagecount=recordcount/pagesize;
return (recordcount % pagesize == 0 ? pagecount : pagecount + 1);
}
这样就可以得出到底分页的页数.
最后补充说明:由于我只是初步研究这个控件,不过上面的代码都是经过测试通过的。
而且我还发现这个控件还有很多属性可以改变它的样式外观的。而且还比较灵活的。希望能给朋友们带来一些帮助。
另外如果有什么地方不正确还希望高手能及时的提出来!
今天闲来无事就学习学习了aspNetPager分页控件的用法:
AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现分页导航功能的地方,如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、Access、mysql、DB2等数据库以及XML文件、内存数据或缓存中的数据、文件系统等等。
1.首先下载aspnetpager控件,我这儿的版本是6.0.0.0 点击下载
2.把控件加到项目中(添加自定义控件的方法),并把它拖放到页面上:
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
AlwaysShow="True" //总是显示分页控件,即使要分页的数据只有一页
OnPageChanged="AspNetPager1_PageChanged" //分页发生改变时触发事件
UrlPaging="true" //通过URL传递分页信息的方式来分页。如果设为true,禁用ViewState也能达到效果。如果设置为false,禁用了viewstate则无法实现分页.
NumericButtonTextFormatString="[{0}]" //页索引数字显示的格式
ShowCustomInfoSection="Left"> //显示当前页和总页数信息,默认值不显示,为left则将显示在页索引前,为right则为页索引后 </webdiyer:AspNetPager>
3.Page_Load事件:
protected void Page_Load(object sender, EventArgs e)
public void BindGridView()
public DataSet GetPage(string sql, int currentPage, int pagesize,out int recordcount)
public int GetPageRecord(string sql)
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
AspNetPager1.CustomInfoHTML += " 总页数:<b>" + AspNetPager1.PageCount.ToString() + "</b>";
这里就有一个问题是aspNetPage1.PageCount怎样得出来的呢?我们并没有为它赋值。(这里而且这个属性是只读的)
实际上它的值是本身的控件就实现了:我分析觉得代码可能如下:
public int GetPagerCount(string sql, int pagesize)
{
int recordcount = GetPageRecord(sql);//方法见上
int pagecount=recordcount/pagesize;
return (recordcount % pagesize == 0 ? pagecount : pagecount + 1);
}
这样就可以得出到底分页的页数.
最后补充说明:由于我只是初步研究这个控件,不过上面的代码都是经过测试通过的。
而且我还发现这个控件还有很多属性可以改变它的样式外观的。而且还比较灵活的。希望能给朋友们带来一些帮助。
另外如果有什么地方不正确还希望高手能及时的提出来!
相关文章推荐
- 分页控件AspNetPager的用法
- 分页控件AspnetPager的用法,巩固用
- 分页控件AspNetPager的用法
- 分页控件AspNetPager的用法
- 分页控件AspNetPager的用法
- AspNetPager常用属性及用法 / URLRewrite伪静态与AspNetPager分页控件的结合
- 分页控件AspNetPager的用法
- gridview分页控件aspnetpager用法
- 【转】AspNetPager分页控件用法
- 分页控件AspNetPager的用法
- 分页控件 AspnetPager
- 使用AspNetPager控件实现GridView分页
- VS2005中用存储过程实现分页控件AspNetPager(用存储过程加AspNetPager分页控件分页超快)
- Repeater使用 AspNetPager分页控件
- 在asp.net中的分页控件aspnetpager的问题
- 菜鸟兵团原创作品展示平台 -- AspNetPager分页控件存储过程生成器
- asp.net控件DataList分页用法
- AspNetPager控件的最基本用法
- AspNetPager控件分页存储过程
- AspNetPager分页控件的使用