从数据库中读出来,有N行,控制为每页15个,分页显示。
应该怎么实现呢?
如下我们论坛的这类分!(首页 1 2 3 4 5 6 7 8 9 ...尾页  总数:(此表所有数据总和),共(被分成多少页))

解决方案 »

  1.   

    这是部分代码↓
    <table width="100%"  border="0" cellpadding="0" cellspacing="1" class="TableAll">
                  <tr align="center" class="TrBody">
                    <td width="9%">序号</td>
                    <td width="14%" height="25">用户</td>
                    <td width="25%">操作内容</td>
                    <td width="21%">操作时间</td>
                    <td width="16%">IP</td>
                    <td width="15%">电脑系统</td>
                  </tr>
                  <% Str="Select * From XcOprLog Order By ID Desc"
    Set Rs=Conn.execute(Str)
    I=1
    Do while Not Rs.eof
      %>
                  <tr align="center" class="TrBody">
                    <td><%=I%></td>
                    <td height="25"><%=Rs("OprUser")%></td>
                    <td><%=Rs("OprInfo")%></td>
                    <td><%=Rs("OprTime")%></td>
                    <td><%=Rs("OprIP")%></td>
                    <td><%=Rs("OprSys")%></td>
                  </tr>
                  <%
       I=I+1
    Rs.MoveNext
    Loop
    %>
                </table>
      

  2.   

    Grid+分页控件,至于自己写table吗?
      

  3.   

    用aspnetpager,有很多实例,还可以自定义分页样式
    http://www.webdiyer.com/aspnetpager/demos/pagedrepeater.aspx
      

  4.   

    两种选择:前台分页(把数据全部加载出来在程序里做处理),后台分页(直接根据sql在数据库中处理完毕之后加载出来)
      

  5.   

    自己写的分页还是用的插件?学会分析问题,为什么第一页有,第二页就没有
    通过这几天百度,看各种实例,然后自己慢慢写出来的!
    分析了很久,也用过很多方法,比如用俩个不同的表,或者加个DIV,都实现不了!
      

  6.   

    美工出图,前端设计静态页面。
    数据库程序员 写后端ASHX一般处理程序,并预留3个参数(SQL语句,当前页数,每页数目),按照静态界面去拼接HTML语句。
    JS程序员通过AJAX接收,AJAX 调用分页函数。
    我没学过ASP.NET各种服务器控件,一开始就遵循SP1234大神的建议,使用ashx+ajax+html,下面贴出我自己手工写的分页。
    你要的答案,回归网页本源,都在里面。
            public string getData(string str,int size, int page)
            {
                StringBuilder strB = new StringBuilder();
                DataTable dt1 = GetData(str);
                int count = dt1.Rows.Count;
                if(count >0)
                {
                int page_count = count / size + 1; //总页数
                IList<page_class> Ilist =  JSONhelper.ModelConvertHelper<page_class>.ConvertToModel(dt1);
                List<page_class> list_table = Ilist.ToList<page_class>();            List<page_class> return_list = new List<page_class>();            if (count <= size)  //如果 查询表行数 小于等于 页面数
                {
                    return_list = list_table.GetRange(0, count);
                }
                else  //如果 查询表行数 大于 页面数
                {
                    if (count % size == 0)   // 查询行数 取模 等于0,余数为0,则都分配完
                    {
                        return_list = list_table.GetRange((page - 1) * size, size);
                        
                    }
                    else
                    {
                        if (page != (count / size + 1))  //查询行数 取整,当前页不等于最后1页
                        {
                            return_list = list_table.GetRange((page - 1) * size, size);
                        }
                        else  //查询行数取整,最后一页
                        {
                            return_list = list_table.GetRange((page - 1) * size, count % size);
                        }                }
                }          
                for (int i = 0; i < return_list.Count; i++ )
                {
                    strB.Append(@"<div class='col-md-12'>
                                <div class='col-md-4'>
                                <div class='thumbnail'>");
                    strB.Append("<img src='UploadFile/Content/" + return_list[i].img1 + "' alt='img'>");  //缩略图
                    strB.Append("<div class='caption'>");
                    strB.Append("<button class='btn btn-default btn-xs' value='" + return_list[i].img2 + "' >");
                    strB.Append("<span class='glyphicon glyphicon-search'></span>"); //缩略图的 产品按钮
                    strB.Append("</button>");
                    strB.Append(@"</div>
                                </div>
                                </div>"); 
                    strB.Append(@"<div class='col-md-8'>
                                <div>
                                <h5>");
                    strB.Append("<div style='font-size:18px;font-weight: bold;'>" + return_list[i].name + "</div><br/>" + return_list[i].c5);  //主标题
                    strB.Append("</h5>");
                    strB.Append(return_list[i].contentEn);//简单介绍
                    strB.Append("</div>"); 
                    strB.Append("<button type='button' class='btn btn-default btn-xs' data-toggle='collapse' data-target='#page_btn_info" + i + "1' > Specification</button>"); //3个折叠按钮
                    strB.Append("<button type='button' class='btn btn-default btn-xs' data-toggle='collapse' data-target='#page_btn_info" + i + "2' > Drawing</button>");
                    strB.Append("<button type='button' class='btn btn-default btn-xs' data-toggle='collapse' data-target='#page_btn_info" + i + "3' > Download</button>");
                    strB.Append("<div id='page_btn_info" + i + "1' class='collapse'>");//要更改ID名
                    strB.Append(return_list[i].e1); //按钮1折叠内容
                    strB.Append("</div><div id='page_btn_info" + i + "2' class='collapse'><br />");
                    strB.Append(return_list[i].e2); //按钮2折叠内容
                    strB.Append("</div> <div id='page_btn_info" + i + "3' class='collapse'>");//按钮3折叠内容
                    strB.Append(return_list[i].e3); //按钮3折叠内容
                    strB.Append(@"</div>
                                  </div>
                                  </div>");
                
                                                  if (i != return_list.Count-1)
                    {
                        strB.Append("<div class='col-md-12'><div class='row' style='background-color:rgb(204,204,204); margin:10px;  height:1px;'></div></div>");
                    }
                }            //增加页数导航按钮
                    int p = page==1?1:page-1;
                    int n = page < page_count ? page + 1 : page_count;
                    strB.Append("<div class='text-right'>");
                    strB.Append("<div class='btn-group' id='nav_page_index'>");
                    strB.Append("<button type='button' class='btn btn-default btn-xs  disabled'>Rows:" + count + " &nbsp; &nbsp; Page:" + page + " / " + page_count + "</button>");
                    strB.Append("<button type='button' class='btn btn-default btn-xs' value='1'>First</button>");
                    strB.Append("<button type='button' class='btn btn-default btn-xs' value='" + p + "'>Prev</button>");
                    strB.Append("<button type='button' class='btn btn-default btn-xs' value='" + n + "'>Next</button>");
                    strB.Append("<button type='button' class='btn btn-default btn-xs' value='" + page_count + "'>Last</button>");
                    strB.Append("</div></div>");                                return strB.ToString();
                }
                else
                {
                   return "<div>rows:0</div>";            }
               
            
            }
        function page_change(str, page) {
                    var set_json = '{ \"sql\": \"' + str + '",  \"page\": ' + page + ' }';
                    $.ajax({
                        type: "POST",
                        url: "ashx/prohandler.ashx",
                        data: set_json,
                        success: function (message) {
                            $("#page_content").html("");
                            $("#page_content").append(message);                    },
                        error: function (message) {
                            alert(message);
                        }
                    });
                }有人说,为什么不去用服务器控件或者第三方分页控件,我回答,因为强调个性。网页是彰显个性的地方。