一、AspNetPager支持两种方式分页:
一种是PostBack方式分页,
一种是通过Url来实现分页以及Url重写功能
二、AspNetPager支持各种数据绑定控件GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件的分页功能十分强大。
三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合,
四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager十分实用
测试控件datalist aspnetpager 的分页方法示例 分页方法为 PostBack 方式
1、
首先将AspNetPager.dll复制于应用程序下的bin目录,打开解决方案,引入dll文件
2、 在工具栏中添加控件,这样可以支持拖拽使用
3、 要使用AspNetPager 要为其设置最基本的属性
使用 SqlServer Northwind数据库的 Products表
protected Wuqi.Webdiyer.AspNetPager AspNetPager1;
protected
System.Web.UI.WebControls.Label Label1;
protected
System.Web.UI.WebControls.DataList DataList1;
private void Page_Load(object
sender, System.EventArgs e)
{
this.AspNetPager1.PageSize=10; //设置每也显示的记录条数
if(!IsPostBack)
//只在页面第一次加载时起作用
{
SqlDBManager db = new
SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"]);
AspNetPager1.RecordCount=db.CountPage("products");//获得要使用表的记录总数
//db.CountItems自定义的方法
this.BindData();
}
}
private void BindData()
{
SqlDBManager db= new
SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"].ToString();
DataList1.DataSource=db.FenPage(this.AspNetPager1.PageSize,this.AspNetPager1.CurrentPageIndex,"productid","products","productid,productname,unitprice,unitsinstock","");
//自定义方法由 TOP not in 存储过程分页方法改编
this.DataList1.DataBind();
//控件数据绑定
this.Label1.Text="当前第"+this.AspNetPager1.CurrentPageIndex+"页
总"+this.AspNetPager1.PageCount+"页";
}
private void
AspNetPager1_PageChanged(object sender, System.EventArgs e)
{ //页索引改变方法
this.BindData();
}
设计页效果
<asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 296px;
POSITION: absolute; TOP: 96px" runat="server">
<HeaderTemplate>
<table border=‘1‘>
<tr>
<td>产品ID</td>
<td>产品名称</td>
<td>产品数量</td>
<td>产品单价</td>
</tr>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"Productid")%></td>
<td><%#
DataBinder.Eval(Container.DataItem,"productname")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"unitprice")%></td>
<td><%#
DataBinder.Eval(Container.DataItem,"unitsinstock")%></td>
</tr>
</ItemTemplate>
</asp:DataList>
<webdiyer:AspNetPager id="AspNetPager1"
style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server"
Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页"
PrevPageText="上一页" Height="40px" NumericButt PagingButt ShowNavigati
ShowInputBox="Always" TextAfterInputBox="页" TextBeforeInputBox="跳转到第"
AlwaysShow="True">
</webdiyer:AspNetPager>
<asp:Label
id="Label1" style="Z-INDEX: 103; LEFT: 120px; POSITION: absolute; TOP: 56px"
runat="server">Label</asp:Label>