ASP.NET 中关于手写分页的代码 1、http://www.webdiyer.com/aspnetpagerdemo/pageddatalist/default.aspx2、http://blog.csdn.net/chinacsharper/article/details/9095387 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用的是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() + "条数据 第[1/1]页 【<a href=\"javascript:;\">首页</a> <a href=\"javascript:;\">上一页</a> <a href=\"javascript:;\" style=\"background-color:#FF9; padding-left:5px; padding-right:5px;\">1</a> <a href=\"javascript:;\">下一页</a> <a href=\"javascript:;\">尾页</a>】"; } else { if (zongjilu % ye_size == 0) { s += "共<span id=\"zong_jilu\">" + zongjilu.ToString() + "</span>条数据 第[<span id=\"ye_num\">1</span>/<span id=\"zongye\">" + ye_sum + "</span>]页 【<a href=\"javascript:;\" onclick=\"startRequest('fenye_shouye','1','1')\">首页</a>  <a href=\"javascript:;\" onclick=\"startRequest('pri_page','1','1')\">上一页</a> "; 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> "; } s += "<a href=\"javascript:;\" onclick=\"startRequest('next_page','1','')\">下一页</a> <a href=\"javascript:;\" onclick=\"startRequest('fenye_weiye','1','1')\">尾页</a>】"; } else { ye_sum++; s += "共<span id=\"zong_jilu\">" + zongjilu.ToString() + "</span>条数据 第[<span id=\"ye_num\">1</span>/<span id=\"zongye\">" + ye_sum + "</span>]页 【<a href=\"javascript:;\" onclick=\"startRequest('fenye_shouye','1','1')\">首页</a>  <a href=\"javascript:;\" onclick=\"startRequest('pri_page','1','1')\">上一页</a> "; 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> "; } s += "<a href=\"javascript:;\" onclick=\"startRequest('next_page','1','')\">下一页</a> <a href=\"javascript:;\" onclick=\"startRequest('fenye_weiye','1','1')\">尾页</a>】"; } } return s; }}你参考吧,应该有用,挺简单的, Refer this:http://www.cnblogs.com/insus/tag/Paging/ 手动分页最主要的还是一句SQL查询。你在网上查一下,有很多。 totalCountSql;searchSql执行totalCountSql返回0就不用执行searchSql否则根据totalCount纠正当前页码,如果页码超出最大,则取最后一页然后执行searchSql,返回结果 为什么要手写呢 Aspnetpager这样的分页控件感觉已经可以使用了 手写的容易出现一些奇葩的小BUG 除非你有特殊的需求 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通用 问个很弱智的问题 sql server 不存在? 实在想不懂!请各位高手赐教!!(帮帮忙!很急) 新手遇到了一个程序设计难题,请高手指点 索引超出范围。必须为非负值并小于集合大小。参数名:index 急。。。。 xtrareport打印字体问题? 服务器应用程序不可用的问题 javascript和jscritp.net的区别有那些? 求救! 创建asp.net报错,报错信息内详! 头次使用EnyimMemcached,可是没法使用,知道的进来下 好几天都没弄出来,MVC中 自定义IModelBinder问题
分享我的经验:
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() + "条数据 第[1/1]页 【<a href=\"javascript:;\">首页</a> <a href=\"javascript:;\">上一页</a> <a href=\"javascript:;\" style=\"background-color:#FF9; padding-left:5px; padding-right:5px;\">1</a> <a href=\"javascript:;\">下一页</a> <a href=\"javascript:;\">尾页</a>】"; }
else
{
if (zongjilu % ye_size == 0)
{ s += "共<span id=\"zong_jilu\">" + zongjilu.ToString() + "</span>条数据 第[<span id=\"ye_num\">1</span>/<span id=\"zongye\">" + ye_sum + "</span>]页 【<a href=\"javascript:;\" onclick=\"startRequest('fenye_shouye','1','1')\">首页</a>  <a href=\"javascript:;\" onclick=\"startRequest('pri_page','1','1')\">上一页</a> ";
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> ";
}
s += "<a href=\"javascript:;\" onclick=\"startRequest('next_page','1','')\">下一页</a> <a href=\"javascript:;\" onclick=\"startRequest('fenye_weiye','1','1')\">尾页</a>】"; }
else
{
ye_sum++;
s += "共<span id=\"zong_jilu\">" + zongjilu.ToString() + "</span>条数据 第[<span id=\"ye_num\">1</span>/<span id=\"zongye\">" + ye_sum + "</span>]页 【<a href=\"javascript:;\" onclick=\"startRequest('fenye_shouye','1','1')\">首页</a>  <a href=\"javascript:;\" onclick=\"startRequest('pri_page','1','1')\">上一页</a> ";
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> ";
}
s += "<a href=\"javascript:;\" onclick=\"startRequest('next_page','1','')\">下一页</a> <a href=\"javascript:;\" onclick=\"startRequest('fenye_weiye','1','1')\">尾页</a>】"; } }
return s;
}
}
你参考吧,应该有用,挺简单的,
http://www.cnblogs.com/insus/tag/Paging/
searchSql执行totalCountSql
返回0就不用执行searchSql
否则根据totalCount纠正当前页码,如果页码超出最大,则取最后一页
然后执行searchSql,返回结果
Aspnetpager这样的分页控件感觉已经可以使用了
手写的容易出现一些奇葩的小BUG 除非你有特殊的需求