ASP.NET C# 后台输出的带页码的分页函数(不用控件)
来源:互联网 发布:21天学会javascript 编辑:程序博客网 时间:2024/06/06 10:01
分页,如果用JS在前台分页,我觉得对SEO不利(js这东西确实是个好东西,但有时候,得考滤SEO),所以写了个ASP.NET 不用控件进行分页,直接从后台输出的,带页码的分页函数,如果您有用,可以参考
进入页面时接收参数:
if (Request["page"] != null) { if (!int.TryParse(Request["page"].ToString(), out pageindex)) { Response.End(); return; } }
分页时用到的字段,写在pageload上面
//分页用到的字段 protected int pageindex = 1; protected int pagesize = 1; protected int startIndex = 1; protected int endIndex = 0; protected int preIndex = 0; protected int nextIndex = 0;
方法 :
protected string FenYe(int pageindex, int pagesize) { StringBuilder sbFenye = new StringBuilder(); decimal rc = 0; DataSet ds = GetData.XXXX;//这里是从后台获取的DataSet列表 if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { rc = decimal.Parse(ds.Tables[0].Rows[0][0].ToString()); int totalpage = Convert.ToInt32(Math.Ceiling(rc / pagesize).ToString()); nextIndex = pageindex + 1; preIndex = pageindex - 1; string nextStr = ""; string preStr = ""; if (nextIndex > totalpage) { nextStr = ""; } else { nextStr = "<a href=\"default.aspx?page=" + nextIndex + "\"> 下一页 </a>"; } if (pageindex == 1) { preStr = ""; } else { preStr = "<a href=\"default.aspx?page=" + preIndex + "\"> 上一页 </a>"; } sbFenye.Append("<div class=\"scott\">"); sbFenye.Append("总记录:"+ rc +" 总页数:"+totalpage+" "); if (pageindex != 1) { sbFenye.Append("<a href=\"default.aspx?page=1\">首页</a>"); } sbFenye.Append(preStr); int Step = 5; int LeftNum = 0; int RightNum = 0; if ((pageindex - Step) < 1) { LeftNum = 1; } else { LeftNum = pageindex - Step; } if ( (pageindex + Step) > totalpage) { RightNum = totalpage; } else { RightNum = pageindex + Step; } for (int i = LeftNum; i <= RightNum; i++) { if (i==pageindex) { sbFenye.Append("<span class=\"current\">" + i.ToString() + "</span>"); } else { sbFenye.Append("<a href=\"default.aspx?page=" + i + "\">" +i.ToString() + "</a>"); } } sbFenye.Append(nextStr); if (pageindex != totalpage) { sbFenye.Append("<a href=\"default.aspx?page=" + totalpage + "\">尾页</a>"); } sbFenye.Append("</div>"); } return sbFenye.ToString(); }
前台输出
<%=FenYe(pageindex,pagesize)%>前台列表:<%= PageList(pageindex,pagesize) %> PageList为后台.cs里写的读取列表的方法标签:ASP.NET C# 后台输出的带页码的分页函数前台CSS样式:DIV.scott { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 3px; PADDING-TOP: 3px; TEXT-ALIGN: center}DIV.scott A { BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #ddd 1px solid; COLOR: #88af3f; MARGIN-RIGHT: 2px; PADDING-TOP: 2px; BORDER-BOTTOM: #ddd 1px solid; TEXT-DECORATION: none}DIV.scott A:hover { BORDER-RIGHT: #85bd1e 1px solid; BORDER-TOP: #85bd1e 1px solid; BORDER-LEFT: #85bd1e 1px solid; COLOR: #638425; BORDER-BOTTOM: #85bd1e 1px solid; BACKGROUND-COLOR: #f1ffd6}DIV.scott A:active { BORDER-RIGHT: #85bd1e 1px solid; BORDER-TOP: #85bd1e 1px solid; BORDER-LEFT: #85bd1e 1px solid; COLOR: #638425; BORDER-BOTTOM: #85bd1e 1px solid; BACKGROUND-COLOR: #f1ffd6}DIV.scott SPAN.current { BORDER-RIGHT: #b2e05d 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #b2e05d 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; BORDER-LEFT: #b2e05d 1px solid; COLOR: #fff; MARGIN-RIGHT: 2px; PADDING-TOP: 2px; BORDER-BOTTOM: #b2e05d 1px solid; BACKGROUND-COLOR: #b2e05d}DIV.scott SPAN.disabled { BORDER-RIGHT: #f3f3f3 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #f3f3f3 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #f3f3f3 1px solid; COLOR: #ccc; MARGIN-RIGHT: 2px; PADDING-TOP: 2px; BORDER-BOTTOM: #f3f3f3 1px solid}
- ASP.NET C# 后台输出的带页码的分页函数(不用控件)
- asp.net 不用控件 循环输出数据库数据的方法
- asp.net自制分页页码条控件
- Asp.Net不用控件分页
- asp.net js调用后台带参数的函数 .
- asp.net 后台执行js c#与asp.net页面前台语后台的函数
- asp.net的分页代码 (不是分页控件)
- asp的翻页页码函数
- 一个带有页码的通用ASP.NET分页类,支持数据库分页(C#)
- asp.net C#如何上传指定路径的图片,不用FileUpload控件[转]
- Asp.net控件绑定后台的方法
- c# asp.net 自己写的分页 没有使用控件原始分页
- 创建用于ASP.NET的分页控件
- ASP.NET:DataGrid控件的分页功能
- 一个ASP.Net的DataGrid分页控件
- 小巧精致的ASP.Net分页控件
- 小巧精致的ASP.Net分页控件
- ASP.NET的分页控件-AspNetPager
- mysql作为hive元数据库读取时提示communication failure
- python爬虫实例—获取北邮教务GPA
- H2 数据库
- editplus格式化xml文档
- 程序员技术练级攻略
- ASP.NET C# 后台输出的带页码的分页函数(不用控件)
- Android之布局初步(一)
- Android 高手进阶教程(十四)之----Android Location的使用!!
- 非递归,按序输出集合的全排列
- Hibernate spring 双数据源(转载)
- WebApp实时开源框架Clouda---认识心得
- Android高手进阶教程(十五)之---通过Location获取Address的使用!
- 红酒收藏越久越好吗?
- 数字转换为英文串