ASP.NET之AJAX分页步骤

来源:互联网 发布:知乎 记忆联想的方法 编辑:程序博客网 时间:2024/05/21 17:39
一、在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);//绑定数据
}
0 0
原创粉丝点击