//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" >