本文共 4556 字,大约阅读时间需要 15 分钟。
using System;
using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Text;using apk.DatabaseEx;using System.Data.SqlClient;public partial class MyCeShiPage : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) {if (this.Request.Params["currentPage"] == null)
{ currentpage = 1; } else { currentpage =Convert.ToInt32(Request.Params["currentPage"]); } bbb(); //string kk = PageData(); //Response.Write(kk); } }public static int pages; //总的页数
public static int pagecout; //总的记录条数 public static int currentpage; //当前页 protected string PageData() { int cout=10; //每页要显示的条数 int showpage=10; //数字导航条要显示页码的个数 string leftInfo; pagecout = CalculateRecord(); if (pagecout % cout == 0) { pages = pagecout / cout; } else { pages = pagecout / cout + 1;}
StringBuilder centerInfo = new StringBuilder();//分页条分三部分,leftInfo是最左边的部分,用来显示当前页/总页数,每页显示的记录条数
leftInfo = "第" + currentpage +"页"+ "/" + "共"+pages+"页" + " " + "每页"
+ cout + "条" + " 共" + pagecout + "条"; //中间的部分是分页部分int min;//要显示的页面数最小值
int max;//要显示的页面数最大值
if (currentpage > pages)//当前页必须小于最大页
{ currentpage = pages; }if (currentpage % showpage == 0) //如果恰好整除
{min = currentpage + 1;
max = currentpage + showpage;
} else if (currentpage % showpage == 1 && currentpage > showpage) {min = (((int)currentpage / showpage) - 1) * showpage + 1;
max = currentpage - 1;
}
else
{min = ((int)currentpage / showpage) * showpage + 1;
max = (((int)currentpage / showpage) + 1) * showpage;
}
string numberStr = " ";//循环生成数字序列部分
string AbsUrl;//(URL?)左边的部分
AbsUrl = this.Context.Request.Url.ToString();
if (AbsUrl.IndexOf("?") == -1)
{}
else
{AbsUrl = AbsUrl.Substring(0, AbsUrl.IndexOf("?"));
}
for (int i = min; i <= max; i++) {if (i <= pages)//只有不大于最大页才显示
{if (currentpage == i)//如果是当前页,用斜体和红色显示
{numberStr = numberStr + "<a href=" + AbsUrl + "?currentPage=" + i.ToString() + ">" + "<I style='color:red'>" + i.ToString() + "</I>" + "</a>" + "/n";
}
else
{numberStr = numberStr + "<a href=" + AbsUrl + "?currentPage=" + i.ToString() + ">" + i.ToString() + "</a>" + "/n";
}
}
}
//第一页,上一页,下一页,最后一页string First, Previous, Next, Last;
First = AbsUrl + "?currentPage=1";
/
if (currentpage == 1)
Previous = AbsUrl + "?currentPage=1";
else
Previous = AbsUrl + "?currentPage=" + (currentpage - 1).ToString();
/
if (currentpage == pages)
Next = AbsUrl + "?currentPage=" + pages;
else
Next = AbsUrl + "?currentPage=" + (currentpage + 1).ToString();
/Last = AbsUrl + "?currentPage=" + pages;
centerInfo.AppendFormat("<font face='Webdings' style='font-size:14px'><a href="/{0"}>7</a><a href="/{1"}>3</a></font>{2}<font face='Webdings' style='font-size:14px'><a href="/{3"}>4</a><a href="/{4"}>8</a></font>", First, Previous, numberStr, Next, Last);
StringBuilder sb = new StringBuilder();//输出HTML字符串
sb.AppendFormat("<table style = 'font-size:12px' border='0' cellpadding='0' cellspacing='0' width='100%'> /n " +
"<tr>/n" +
"<td width='25%' align='left'>{0}</td>/n" +
"<td width='61%' align='right'>{1}</td>/n" +
"<td width='14%' align='right'><input type='text' name='T1' size='4' style='border-bottom:solid 1pt gray;border-top :solid 1pt gray; border-left:solid 1pt gray;border-right:solid 1pt gray;'> /n <input type='button' name='B1' size='6' value=go style='border-bottom:solid 1pt gray;border-top :solid 1pt gray; border-left:solid 1pt gray;border-right:solid 1pt gray;' οnclick='go(T1,{2})'></td>/n" +
"</tr>/n" +
"</table>", leftInfo,
centerInfo.ToString(),
pages);
return sb.ToString(); } //ICollection CreateSource() //{
//}
public int CalculateRecord() //计算总共有多少条记录
{ int allcout =0; string sql = "select count(namee) as co from product"; SqlDataReader rs =(SqlDataReader) DBManager.SystemDatabaseExec.ExecReader(sql); if (rs.Read()) { allcout = Convert.ToInt32(rs["co"].ToString()); } DBManager.SystemDatabaseExec.Close(); return allcout; } private void bbb()//从数据库读出数据,绑定,在页面显示 { StringBuilder sql = new StringBuilder(); string sql1; sql.AppendFormat("select top {0} productid,productno,namec,namee from product where productid not in (select top {1} productid from product )", 10, (currentpage-1) * 10); sql1 = sql.ToString(); DataSet ds = new DataSet(); bool bol = DBManager.SystemDatabaseExec.ExecDataset(sql1, ds, "table"); if (!bol) return; datalist1.DataSource = ds; datalist1.DataBind(); DBManager.SystemDatabaseExec.Close(); }}转载地址:http://jyhai.baihongyu.com/