1、http://www.webdiyer.com/aspnetpagerdemo/pageddatalist/default.aspx
2、http://blog.csdn.net/chinacsharper/article/details/9095387

解决方案 »

  1.   

    我用的是HTML+AJAX+.NET:
    分享我的经验:
    1:将要分页的表的所有数据总数查出来,除后得总页数;
    2:在前台放一个TextBox或Label等控件做标示用(也就是当做你传值的页数);
    3:用ajax技术将你单击后的页数,比如第一页就传回前十条数据,..尾页传出总页除十后的页数;
    原理就这样,我也手写的,
    public static string fenye(string _hyid, string _czlx)
        {
            int zongjilu = 0;   //总记录数
            int ye_size = 0;   //每数记录数大小
            int ye_sum = 0;     //页数
            string s = "";
            if (_czlx == "blog_sc")
            {
                ye_size = 10;
                string sql_sel_count = "select count(*)scsj from blog_sc where  hyid='" + _hyid + "' order by scsj desc ";
                zongjilu = int.Parse(dao_sqlserver.query_sql_and_return_count(sql_sel_count));
                ye_sum = zongjilu / ye_size;
                if (ye_sum <= 0)
                {                ye_sum = 1;                s += "共" + zongjilu.ToString() + "条数据 &nbsp;&nbsp; 第[1/1]页  &nbsp;&nbsp;【<a href=\"javascript:;\">首页</a> &nbsp;&nbsp;<a href=\"javascript:;\">上一页</a>&nbsp; <a href=\"javascript:;\"  style=\"background-color:#FF9; padding-left:5px; padding-right:5px;\">1</a>  &nbsp;<a href=\"javascript:;\">下一页</a>&nbsp;&nbsp;<a href=\"javascript:;\">尾页</a>】";            }
                else
                {
                    if (zongjilu % ye_size == 0)
                    {                    s += "共<span id=\"zong_jilu\">" + zongjilu.ToString() + "</span>条数据 &nbsp;&nbsp; 第[<span id=\"ye_num\">1</span>/<span id=\"zongye\">" + ye_sum + "</span>]页  &nbsp;&nbsp;【<a href=\"javascript:;\" onclick=\"startRequest('fenye_shouye','1','1')\">首页</a> &nbsp;&nbsp<a href=\"javascript:;\" onclick=\"startRequest('pri_page','1','1')\">上一页</a>&nbsp;";
                        for (int i = 1; i <= ye_sum; i++)
                        {
                            s += "<a href=\"javascript:;\" onclick=\"startRequest_other_five('fenye_scfa','" + i.ToString() + "','1','1','1')\"  style=\"background-color:#FF9; padding-left:5px; padding-right:5px;\">" + i + "</a>&nbsp;&nbsp;";
                        }
                        s += "<a href=\"javascript:;\" onclick=\"startRequest('next_page','1','')\">下一页</a>&nbsp;&nbsp;<a href=\"javascript:;\" onclick=\"startRequest('fenye_weiye','1','1')\">尾页</a>】";                }
                    else
                    {
                        ye_sum++;
                        s += "共<span id=\"zong_jilu\">" + zongjilu.ToString() + "</span>条数据 &nbsp;&nbsp; 第[<span id=\"ye_num\">1</span>/<span id=\"zongye\">" + ye_sum + "</span>]页  &nbsp;&nbsp;【<a href=\"javascript:;\" onclick=\"startRequest('fenye_shouye','1','1')\">首页</a> &nbsp;&nbsp<a href=\"javascript:;\" onclick=\"startRequest('pri_page','1','1')\">上一页</a>&nbsp;";
                        for (int i = 1; i <= ye_sum; i++)
                        {
                            s += "<a href=\"javascript:;\" onclick=\"startRequest_other_five('fenye_scfa','" + i.ToString() + "','1','1','1')\"  style=\"background-color:#FF9; padding-left:5px; padding-right:5px;\">" + i + "</a>&nbsp;&nbsp;";
                        }
                        s += "<a href=\"javascript:;\" onclick=\"startRequest('next_page','1','')\">下一页</a>&nbsp;&nbsp;<a href=\"javascript:;\" onclick=\"startRequest('fenye_weiye','1','1')\">尾页</a>】";                }            }
                return s;
            }
    }
    你参考吧,应该有用,挺简单的,
      

  2.   

    Refer this:
    http://www.cnblogs.com/insus/tag/Paging/
      

  3.   

    手动分页最主要的还是一句SQL查询。你在网上查一下,有很多。
      

  4.   

    totalCountSql;
    searchSql执行totalCountSql
    返回0就不用执行searchSql
    否则根据totalCount纠正当前页码,如果页码超出最大,则取最后一页
    然后执行searchSql,返回结果
      

  5.   

    为什么要手写呢 
    Aspnetpager这样的分页控件感觉已经可以使用了 
    手写的容易出现一些奇葩的小BUG 除非你有特殊的需求
      

  6.   

     select top 10  * from Company where C_Num not in (select top " + Num + " C_Num from Company ) order by C_Num   Num就是页数  B/S和C/S通用