asp.net|分页|控件|页面
一、创建一个类
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两个参数分页。