人家写的一个分页代码,看不太懂
- C# code
public string PageList(int PageSize, int RCount, int currentPage, string UrlHead, string UrlFoot) { int stepNum = 3; int pageRoot = 1; string pageStr = ""; int PCount; if (RCount % PageSize == 0) PCount = RCount / PageSize; else PCount = RCount / PageSize + 1; PCount = PCount == 0 ? 1 : PCount; currentPage = currentPage == 0 ? 1 : currentPage; //pageStr = "<div class=\"pages\"><span>共计: " + RCount.ToString() + " 条记录;分页 " + currentPage.ToString() + " / " + PCount.ToString() + "</span>"; // pageStr = " <li><a href='#'>« Prev</a></li>"; if (currentPage - stepNum < 2) pageRoot = 1; else pageRoot = currentPage - stepNum; int pageFoot = PCount; if (currentPage + stepNum >= PCount) pageFoot = PCount; else pageFoot = currentPage + stepNum; if (pageRoot == 1) { if (currentPage == 1) { pageStr += "<li><a>« 首页</a></li>"; // pageStr += "<a>«</a>"; } else { pageStr += "<li><a href=\"" + UrlHead + "1" + UrlFoot + "\" title=\"首页\">«首页</a></li>"; pageStr += "<li><a href=\"" + UrlHead + (currentPage - 1).ToString() + UrlFoot + "\" title=\"上一页\">«上一页</a></li>"; } } else { pageStr += "<li><a href=\"" + UrlHead + "1" + UrlFoot + "\" title=\"首页\">« 首页</a></li>"; pageStr += "<li><a href=\"" + UrlHead + (currentPage - 1).ToString() + UrlFoot + "\" title=\"上一页\">« 上一页</a></li><li class='disabled'><a>...</a></li>"; } for (int i = pageRoot; i <= pageFoot; i++) { if (i == currentPage) { pageStr += "<li class='active'><a>" + i.ToString() + "</a>"; } else { pageStr += "<li><a href=\"" + UrlHead + i.ToString() + UrlFoot + "\" title=\"第 " + i.ToString() + " 页\">" + i.ToString() + "</a></li>"; } if (i == PCount) break; } if (pageFoot == PCount) { if (PCount == currentPage) { //pageStr += "<li><a>下一页»</a></li>"; pageStr += "<li><a>尾页»</a></li>"; } else { pageStr += "<li><a href=\"" + UrlHead + (currentPage + 1).ToString() + UrlFoot + "\" title=\"下一页\">下一页 »</a></li>"; pageStr += "<li><a href=\"" + UrlHead + PCount.ToString() + UrlFoot + "\" title=\"尾页\">尾页 »</a></li>"; } } else { pageStr += "<li><a>...</a></li><li><a href=\"" + UrlHead + (currentPage + 1).ToString() + UrlFoot + "\" title=\"下一页\">下一页 »</a></li>"; pageStr += "<li><a href=\"" + UrlHead + PCount.ToString() + UrlFoot + "\" title=\"尾页\">尾页 »</a></li>"; } // pageStr += "</div>"; return pageStr; }
我引用的时候string UrlHead, string UrlFoot 没看懂
我
DataTable dt = GetDataReader(strsql);
GridView1.DataSource = dt;
后如何引用分页
[解决办法]
PageList(int PageSize, int RCount, int currentPage, string UrlHead, string UrlFoot)
PageSize、每页的数量
RCount、总数量
currentPage、当前页
UrlHead、连接的开始地址。如。你当前的页面是:index.aspx。就写上:index.aspx?page=
UrlFoot、连接的结束。也可以说。又加的参数可以写在这里。如:经常做的搜索:key=xxx就写上:&key=xxx
最后的连接结果就是:index.aspx?page=这里的参数是通过这个函数里面生成的&key=xxx