<tr>
                <td class="style4"><div align="left" style="height: 7px"><a href="../../Content.aspx?id=<%=list_news[i].NewsID%>"><%=list_news[i].NewsTitle%></a></div></td>
            </tr>这是我页面显示的代码,我先把它做成有分页的效果,应该如何下手?
有没有什么好的例子,讲解下!  

解决方案 »

  1.   

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