foreach (DataRow item in dtItem.Rows)
        {
            this.tbodyList.InnerHtml += "<tr><td><a target='_blank' href='/Products/AModel.aspx?id=" + item["Id"] + "'>" + item["Name"] + "</a></td><td>" + item["Pictures"] + "</td><td>" + item["Description"] + "</td></tr>";
        }这是我在页面中获取数据库中的数据显示到页面上,因为显示的数据太多,我要实现把数据分页显示, 数据还是以这种方式显示, 应该怎么处理!麻烦大家给我一个思路或者片段代码!  谢谢!

解决方案 »

  1.   

    1.吴起娃的分页控件,上他的控件 www.51aspx.com 也有他的源码  上面有怎么分页的代码
    2.孟老师的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" >   
      

  2.   

    .Net 分页用string 类来传递就可以了~ 很容易理解
      

  3.   

    var count = 0;
    var maxPageSize = 1;
    var page = 1;
    var url = null;

    //获得总记录数
    function getCount(){
    var payNumber = document.getElementById("payNumber").value;
    var payName = document.getElementById("payName").value;
    var bTime = document.getElementById("beginTime").value;
    var eTime = document.getElementById("endTime").value;
    var postStr = e+"/salarySdd.do?method=ssddCount&payNumber="+payNumber+"&payName="+payName+"&beginTime="+bTime+"&endTime="+eTime+"&page="+page;
    //通过POST请求方法,将请求封装在URL中
    xmlHttp.open("POST",postStr,true);
    //设置服务器响应的处理方法
    xmlHttp.onreadystatechange = shouCount;
    //发送请求
    xmlHttp.send(postStr);
    //不提交
    return false;
    }

    //getCount函数的回调函数
    function shouCount(){
    if(xmlHttp.readyState == 4){
    var response = xmlHttp.responseText;
    if(response != "false"){
    count = response;
    if(count % 7 == 0){
    maxPageSize = (count / 7);
    }else{
    maxPageSize = (count / 7 )+ 1;
    }
    maxPageSize=parseInt(maxPageSize);
    //document.getElementById("cont_Review_size").innerHTML = response;
    }else{
    //document.getElementById("cont_Review_size_message").innerHTML = "尚未有用户发表评论!";
    }
    }
    }

    //下一页
    function next(){
    if((page+1) > maxPageSize)
    page = maxPageSize;
    desire((page+1));
    }

    //上一页
    function previous(){
    page =page -1;
    if(page <= 0)
    page = 1;
    desire(page);
    }
    //第一页
    function first(){
    desire(1);
    }

    //最后一页
    function last(){
    //计算最大页数(最后一页)
    if(count % 5 == 0){
    maxPageSize = (count / 7);
    }else{
    maxPageSize = (count / 7 )+ 1;
    }
    maxPageSize=parseInt(maxPageSize);
    //每页显示7条记录
    page =maxPageSize;
    desire(maxPageSize);
    }Ajax分页,可以试试的,很好用