Wap页面使用asp.net中移动控件List分页

来源:互联网 发布:北京大数据工程师招聘 编辑:程序博客网 时间:2024/04/29 22:29
一、创建一个类
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两个参数分页。