|
像Asp一样轻松分页显示数据(C#) (1) 代码如下:
<%@ Page Language="C#" Debug="true" %> <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> <Script Language="C#" runat="server"> int Record_Per_Page;//定义每页显示记录数 int nPageCount;//定义总页数 int nRecCount;//定义总记录数 int nPage;//定义当前页 void Page_Load(Object src,EventArgs e){ //取得当前页数值,并判断 if(Request["pagesize"]==null) Record_Per_Page=9; else Record_Per_Page=Convert.ToInt32(Request["pagesize"]); //连接数据库 SqlConnection conn; conn =new SqlConnection(ConfigurationSettings.AppSettings["strconn"]); conn.Open();
//执行SQL语句 string ConnStr="select id,name,demo,pic from download where classid=23 or classid=24 order by time desc"; SqlDataAdapter odAdapt = new SqlDataAdapter(ConnStr,conn); DataSet DS = new DataSet(); odAdapt.Fill(DS); DataTable DT = DS.Tables[0]; //获得总记录数 nRecCount = DT.Rows.Count;
//判断是否存在数据记录 if(nRecCount > 0){ //确定数据记录要显示的页面数 nPageCount=nRecCount/Record_Per_Page; if(nRecCount % Record_Per_Page > 0) nPageCount ++; if(nPage < 1) nPage = 1; if(nPage > nPageCount) nPage = nPageCount; //将页数显示到屏幕上,并作链接 for(i=1;i<=nPageCount;i++){ html=html+"<a href='mblist.ASPx?page="+i+"&id="+classid+"&classname="+Request.Params["classname"]+"pagesize="+Record_Per_Page+"'>"; if(i==nPage) html=html+"<b>"+i+"</b>"; else html=html+i; html=html+"</a> "; } pagelist.InnerHtml=html; html=""; //确认当前页面的开始记录和终止记录 int nStart = Record_Per_Page * (nPage - 1);
|