一、在ASPX页面中的代码部分
第一步:在aspx页面中注册组件
-----------------------------------------
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
第二步:在<form id="form_base" runat="server"></form>中加入ScriptManager
-----------------------------------------
<asp:ScriptManager runat="server" ID="scriptManager">
</asp:ScriptManager>
第三步:用UpdatePanel和ContentTemplate包起来 UpdatePanel 中的UpdateMode="Conditional"很重要
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<!--循环数据开始-->
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
<tr>
<th>订单号</th>
<th>预约商家</th>
<th>预约时间</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("orderID")%></td>
<td><%#Eval("cname")%></td>
<td><%#Eval("jtime")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<!--循环数据结束-->
<!--分页开始-->
<div id="page">
<webdiyer:aspnetpager id="AspNetPager1" runat="server" onpagechanging="AspNetPager1_PageChanging" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PageSize="3" PrevPageText="上一页" AlwaysShow="True"></webdiyer:aspnetpager>
<asp:Label ID="Label1" runat="server" Visible="False"></asp:Label>
</div>
<!--分页结束-->
</ContentTemplate>
</asp:UpdatePanel>
二、在ASPX.CS代码中的部分
第一步:在Page_Load()中加入
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//为AspNetPager1控件注册一个异步回发方式
scriptManager.RegisterAsyncPostBackControl(AspNetPager1);
string sqlStr = "select * from jorder where pname='" + this.jname.Text.ToString() + "' order by pstatus,orderID desc";
Label1.Text = sqlStr.ToString(); //分页,绑定SQL语句
Pagebangding(Label1.Text);//分页绑定
}
}
第二步:加入方法两个
/// <summary>
/// 分页绑定数据
/// </summary>
private void Pagebangding(string sql)
{
this.AspNetPager1.RecordCount = new DataBaseSql().GetDataTableCount(sql);
if (this.AspNetPager1.RecordCount > 0)
{
countStr = this.AspNetPager1.RecordCount.ToString();//记录数
}
else
{
countStr = "0";
}
DataSet ds = new DataBaseSql().GetPageDataSet(this.AspNetPager1.PageSize, this.AspNetPager1.CurrentPageIndex, sql, "jorder");//"jorder"为数据库表名称
this.Repeater1.DataSource = ds;
this.Repeater1.DataBind();
}
/// <summary>
/// 分页
/// </summary>
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
//调用UpdatePanel的Update()方法更新内容
UpdatePanel1.Update();
//设置更新的模式(比较重要,如果为Always就无法实现AJAX分页)
UpdatePanel1.UpdateMode = UpdatePanelUpdateMode.Conditional;
this.AspNetPager1.CurrentPageIndex = e.NewPageIndex;
this.ViewState["index"] = e.NewPageIndex.ToString();
Pagebangding(Label1.Text);//绑定数据
}