ASP.NET2.0中datalist仿百度分页

//ASP.NET2.0中datalist仿百度分页  
//注意这个分页在1.0中无效  
using System;  
using System.Data;  
using System.Configuration;  
using System.Collections;  
using System.Web;  
using System.Web.Security;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Web.UI.WebControls.WebParts;  
using System.Web.UI.HtmlControls;  
using MySql.Data.MySqlClient;  
using System.Data.SqlClient;  
using System.IO;  
public partial class mysql : System.Web.UI.Page  
{  
    SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["constrmy"]);  
    int ToatalCountRecord;//总记录数  
    int PageItem = 4;//每页显示的条数  
    int CurrentPage = 1;//当前页数  
    protected void Page_Load(object sender, EventArgs e)  
    {  
         
        if (!this.Page.IsPostBack)  
        {  
            if (Request.QueryString["page"] != null)  
            {  
                if (!Int32.TryParse(Request.QueryString["page"].ToString(), out CurrentPage))  
                {  
                    Response.Write("请输入分页参数!");  
                    Response.End();  
                    return;  
                }  
            }  
             
            this.BuidGrid();  
        }  
    }  
     
    private void BuidGrid()  
    {  
        string s2 = "select * from ts1";  
        SqlDataAdapter da = new SqlDataAdapter(s2, conn);  
        DataSet ds = new DataSet();  
        int startRecord = (CurrentPage - 1) * PageItem;  
        da.Fill(ds, startRecord, PageItem, "a");  
        this.DataList1.DataSource = ds.Tables["a"].DefaultView;  
        this.DataList1.DataBind();  
        SqlCommand comm = new SqlCommand("select count(*) from ts1", conn);  
        conn.Open();  
        ToatalCountRecord = Convert.ToInt32(comm.ExecuteScalar());  
        conn.Close();  
        BuildPages();  
    }  
    private void BuildPages()  
    {  
        int Step = 5;//偏移量  
        int LeftNum = 0;//做界限  
        int RightNum = 0;//右界限  
        string PageUrl = Request.FilePath;  
        int PageCount = (int)Math.Ceiling((double)(ToatalCountRecord) / PageItem);  
        if (CurrentPage - Step   < 1)  
        {  
            LeftNum = 1;  
        }  
        else  
        {  
            LeftNum = CurrentPage - Step;  
        }  
        if (CurrentPage + Step > PageCount)  
        {  
            RightNum = PageCount;  
        }  
        else  
        {  
            RightNum = CurrentPage + Step;  
        }  
        string OutPut = "";  
        if (CurrentPage > 1)  
        {  
            OutPut += "  <a href='" + PageUrl + "?page=" + (CurrentPage - 1) + "'>" + "上一页" + "  </a>";  
        }  
        for (int i = LeftNum; i   <= RightNum; i++)  
        {  
            if (i == CurrentPage)  
            {  
                OutPut += "  <font color=red>" + " " +"["+i.ToString() +"]"+ "" + "  </font>";  
            }  
            else  
            {  
                OutPut += "  <a href='" + PageUrl + "?page=" + i.ToString() + "'>" + " " +"["+ i.ToString() +"]"+ " " + "  </a>";  
            }  
        }  
        if (CurrentPage   < PageCount)  
        {  
            OutPut += "  <a href='" + PageUrl + "?page=" + (CurrentPage + 1) + "'>" + "下一页" + "  </a>";  
        }  
        this.PageInfo.InnerHtml = OutPut;  
    }  
   
} 
 
//请注意颜色标注部分  
//需要在前台添加一个   <div id="PageInfo" runat="server" >   
原文地址:https://www.cnblogs.com/milk/p/1851628.html