一、创建一个类 public class Navigation { private string _siteName, _siteURL; public Navigation(string siteName, String siteURL) { _siteName = siteName; _siteURL = siteURL; } public string SiteName { get { return _siteName; } } public string SiteURL { get { return _siteURL; } } } 二、分页 dbAccess mydb = new dbAccess(); mydb.SqlStr = "select count(bookid) as totalid from szhotline where bkcity=''''" + bkcity + "'''' and atype=" + atype; DataSet dsTotal = mydb.readTable("szhotline"); int countTotal = Convert.ToInt32(dsTotal.Tables["szhotline"].Rows[0]["totalid"].ToString()); //总记录数 int totalPage = 0; //总页数 if (countTotal % perPage == 0) totalPage = Convert.ToInt16(countTotal/perPage); else totalPage = Convert.ToInt16(countTotal/perPage) + 1; int cp_n, cp_p; if (cur_page > 1) cp_p = cur_page - 1; else cp_p = 1; if (cur_page < totalPage) cp_n = cur_page + 1; else cp_n = totalPage; link_p.NavigateUrl = "szhotline.aspx?page_c=" + cp_p + "&bkcity=" + bkcity + "&atype=" + atype; link_n.NavigateUrl = "szhotline.aspx?page_c=" + cp_n + "&bkcity=" + bkcity + "&atype=" + atype; List1.DataTextField="SiteName"; List1.DataValueField="SiteURL"; ArrayList arr = new ArrayList(); mydb.SqlStr = "SELECT top " + perPage + " * from (select top " + perPage*Convert.ToInt16(cur_page) + " bookid,bookname from szhotline where atype=" + atype + " and bkcity=''''" + bkcity + "'''' order by bookid desc) order by bookid asc"; DataSet myds = mydb.readTable("szhotline"); for (int i=0; i { string bkname = myds.Tables["szhotline"].Rows["bookname"].ToString().Trim(); string bkurl = "szhotdet.aspx?bookid=" + myds.Tables["szhotline"].Rows["bookid"].ToString().Trim(); arr.Add(new Navigation(bkname, bkurl)); } List1.DataSource = arr; List1.ItemsAsLinks = true; List1.DataBind (); ActiveForm = list; 说明:其中dbAccess是自定义的操作数据库的类,由于数据库使用的是Access。采用的分页采用了select top n * from (select * m from table order by id desc) order by id desc的方式,调整m,n两个参数分页。
|