• ASP.NET之AJAX分页步骤


    一、在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);//绑定数据
    }
    

      

  • 相关阅读:
    2016 年末 QBXT 入学测试
    Codevs 3409 搬礼物
    寻找子串位置
    Balanced Lineup
    统计难题
    爱在心中
    传话
    火柴排队
    新斯诺克
    排序
  • 原文地址:https://www.cnblogs.com/cyjch/p/2340213.html
Copyright © 2020-2023  润新知